【发布时间】:2012-11-26 21:52:45
【问题描述】:
在代码中:
private ObservableCollection<State> allStates = new ObservableCollection<State>();
//State是一个有很多属性的类,其中一个是int 'Index'和int 'OneArrow'
public MainWindow()
{
...
this.MyComboBox.ItemsSource = allStates;
this.MyComboBox.DisplayMemberPath = "Index";
this.MyComboBox.SelectedValuePath = "Index";
this.DataContext = MyState;
}
在xml中:
<ComboBox Name="MyComboBox"
Width="60" Height="20"
IsEnabled="False"
SelectedValue="{Binding Path=OneArrow, UpdateSourceTrigger=PropertyChanged}"/>
绑定工作正常,没问题,但我还有另一个问题。 组合框不显示所选项目。我的意思是在下拉列表中突出显示正确的项目,但是当隐藏下拉列表时,什么都不会显示。
【问题讨论】:
-
你能粘贴你的 State 类吗,是 State 的“Index”部分,并且是“OneArrow”,与“Index”的数据类型相同
-
public int OneArrow { get { return (int)GetValue(OneArrowProperty); } set { SetValue(OneArrowProperty, value); } } 公共 int 索引 { 获取 { 返回索引; } 设置 { 索引 = 值; this.IndexTextBlock.Text = "q" + value.ToString(); } }
-
OneArrow 和 Index 都是 int
-
您是否将 ItemsSource 设置为 State 集合并尝试选择一个 int?这对我没有任何意义