默认值是wpf组合框中的某个值,这是预期的

时间:2014-05-08 08:45:13

标签: c# .net wpf combobox

我有一个WPF组合框,即使我将所选索引设置为0,也没有任何有效的结果。这是组合框。它默认显示的是,3rd(我的元组列表中的最后一个元素)。

就像说我有A,B,C,它显示“C”。我想禁用这个组合框,使其显示为只读并显示A ....问题是,它被绑定到另一个文本框,如果我更改文本框的值,则显示下拉列表中的相应值。我不希望这发生......有什么想法吗?

我正在考虑现在只读取文本框...但是默认值显示为“A”怎么办?

 <ComboBox x:Name="ckbilling" Grid.Column="2"
                              Grid.Row="1" VerticalAlignment="Center" 
                                          ItemsSource="{Binding Types}" 
                                          SelectedValue="{Binding BillToType}" 
                                          SelectedValuePath="Item1"                                  
                                          DisplayMemberPath="Item2"                                  
                                  />

 <TextBox Grid.Column="1" Grid.Row="1" Text="{Binding BillToType}" IsReadOnly="True" ></TextBox>

1 个答案:

答案 0 :(得分:0)

WPF并不是这样工作的。您没有将选定的索引设置为某个位置。这就是绑定的含义。在您的情况下,您选择的值绑定到BillType属性。

因此,如果您想以编程方式将所选值更改BillType更改为Types之一(在您的示例A中)。

如果使用BillType正确实现INotifyPropertyChanged属性。