C# MVVM:强制刷新组合框标签

C# MVVM:强制刷新组合框标签,c#,mvvm,data-binding,combobox,C#,Mvvm,Data Binding,Combobox,我有一个绑定到可观察集合的组合框 问题在于IDrive不支持INotifyPropertyChange也不应该支持 虽然我的组合框中的元素数量是固定的,并且不会改变,但组合框中显示的标签可以也将改变 如何更新这些标签 在我的ObservableCollection上触发PropertyChanged不会刷新标签的内容,但会重置SelectedItem,这是我甚至不想要的副作用 以下是我当前的XAML: <ComboBox Grid.Column="1" Grid.Row="0" Grid.

我有一个绑定到
可观察集合的组合框

问题在于
IDrive
不支持
INotifyPropertyChange
也不应该支持

虽然我的组合框中的元素数量是固定的,并且不会改变,但组合框中显示的标签可以也将改变

如何更新这些标签

在我的ObservableCollection上触发
PropertyChanged
不会刷新标签的内容,但会重置
SelectedItem
,这是我甚至不想要的副作用

以下是我当前的XAML:

<ComboBox Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="4"
          ItemsSource="{Binding Drives}" SelectedItem="{Binding SelectedDrive}"
          IsSynchronizedWithCurrentItem="True" DisplayMemberPath="Label"
          Margin="5,5,5,5" VerticalAlignment="Center" />


Label
是my
IDrive
界面中的属性

您需要将项目包装在
DriveViewModel:INotifyPropertyChanged
中,并重复相关属性。并以某种方式触发了这一变化的事件


再想一想,我不确定DisplayMemberPath是否注意到了这一点。您可能还需要一个ItemTemplate

是的,成功了。IDrive现在有一个带有Label属性的包装器,当PropertyChanged被激发时,标签会被更新。谢谢:)