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
是myIDrive
界面中的属性您需要将项目包装在DriveViewModel:INotifyPropertyChanged
中,并重复相关属性。并以某种方式触发了这一变化的事件
再想一想,我不确定DisplayMemberPath是否注意到了这一点。您可能还需要一个ItemTemplate 是的,成功了。IDrive现在有一个带有Label属性的包装器,当PropertyChanged被激发时,标签会被更新。谢谢:)