WPF组合框下拉列表(数据绑定)值未更改
我将WPF组合框下拉列表(数据绑定)值未更改,wpf,data-binding,combobox,Wpf,Data Binding,Combobox,我将组合框的项源绑定到可观察集合。在代码中,我更改集合(例如编辑MyClass.Name属性) 问题:如果组合框,则更改不会反映在下拉框中,但当我从下拉框中选择项目时,它会正确显示在组合框的选定项目框中 发生了什么事?:) PS MyClass已实现InotifyProperty更改我怀疑INotify。。。是否没有正确实施?我刚刚测试过: l = new ObservableCollection<MyClass>(); l.Add(new MyClass() {
组合框的项源
绑定到可观察集合
。在代码中,我更改集合(例如编辑MyClass.Name
属性)
问题:如果组合框
,则更改不会反映在下拉框中,但当我从下拉框中选择项目时,它会正确显示在组合框
的选定项目框中
发生了什么事?:)
PS MyClass已实现InotifyProperty更改我怀疑INotify。。。是否没有正确实施?我刚刚测试过:
l = new ObservableCollection<MyClass>();
l.Add(new MyClass() { Name = "A" });
l.Add(new MyClass() { Name = "B" });
l.Add(new MyClass() { Name = "C" });
cmb.ItemsSource = l;
很好用。我的组合框:
<ComboBox x:Name="cmb" SelectedValuePath="Name" DisplayMemberPath="Name" />
我怀疑INotify。。。是否没有正确实施?我刚刚测试过:
l = new ObservableCollection<MyClass>();
l.Add(new MyClass() { Name = "A" });
l.Add(new MyClass() { Name = "B" });
l.Add(new MyClass() { Name = "C" });
cmb.ItemsSource = l;
很好用。我的组合框:
<ComboBox x:Name="cmb" SelectedValuePath="Name" DisplayMemberPath="Name" />
很抱歉,这甚至是一个问题。问题是我忘记了在DataTemplate中设置绑定路径,而它正在使用ToString方法来显示元素。这弄乱了装订
所以请记住-如果您重写ToString,请始终检查您是否在绑定中未使用它:)很抱歉,这甚至是一个问题。问题是我忘记了在DataTemplate中设置绑定路径,而它正在使用ToString方法来显示元素。这弄乱了装订
所以请记住-如果您重写ToString,请始终检查您是否在绑定中使用它:)谢谢您的回答,但(一如既往)问题出在我的虚拟脑袋上。再次感谢你的建议!谢谢你的回答,但(一如既往)问题出在我的脑子里。再次感谢你的建议!