我无法绑定到组合框的text属性。在我选择组合框中的东西之前,它似乎没有绑定。然后它工作正常。
以下是直接来自测试应用的代码:
查看
<ComboBox ItemsSource="{Binding ListItems}"
Text="{Binding Test}" />
视图模型
class ViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public ObservableCollection<string> ListItems { get; set; }
public ViewModel()
{
ListItems = new ObservableCollection<string>();
ListItems.Add("Southwest");
ListItems.Add("South");
}
public string Test
{
get { return "South"; }
set { PropertyChanged(this, new PropertyChangedEventArgs("Test")); }
}
}
然而,当我颠倒可观察收藏品的顺序时,一切正常。
ListItems.Add("South");
ListItems.Add("Southwest");
这里发生了什么?
答案 0 :(得分:2)
text属性不能像这样工作。 阅读本文档: http://msdn.microsoft.com/en-us/library/system.windows.controls.combobox.text.aspx
像hameleon86所建议的那样使用selecteditem。
我认为如果你颠倒你的集合的顺序可能是有效的,因为Text属性默认采用集合的第一项
答案 1 :(得分:0)
我想你可能会这样做:
PropertyChanged(this,new PropertyChangedEventArgs(“ListItems”));
插入元素后。