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,请始终检查您是否在绑定中使用它:)

谢谢您的回答,但(一如既往)问题出在我的虚拟脑袋上。再次感谢你的建议!谢谢你的回答,但(一如既往)问题出在我的脑子里。再次感谢你的建议!