在MVVM WPF应用程序中,我有一个用于管理警报的主 - 详细视图。在AlarmDetails视图中,我有几个通过ComboBox控件设置的属性。其中一个是Alarm的Source,这些源可以在另一个View(SourcesView)中更改,从而改变AlarmDetailsView中的组合框内容。
数据流的方式相对简单
我对此感到茫然,我已经暂时搁置了一段时间。
有人有想法吗?任何调试建议?
谢谢,
亚历
编辑:未更新的ComboBox位于AlarmDetailsView中,这意味着它用于设置Alarm对象的属性(即Source,即)。希望这会有所帮助。
编辑2:除了下面的答案,另一个解决方案是使用ObservableCollection而不是List。出于某种原因,在List上引发PropertyChange事件(如上所述)会触发ComboBox刷新其ItemsSource,但不会将新项添加到其下拉列表中。使用ObservableCollection,不需要引发propertychange事件,因为它自己管理它。
答案 0 :(得分:0)
尝试使用CollectionViewSource来处理Master / Detail绑定。
下面是一个例子
<Window.Resources>
<CollectionViewSource x:Key="data" Source="{Binding}" />
<Window.Resources>
DataContext="{Binding CurrentItem, Source={StaticResource data}}"
答案 1 :(得分:0)
**编辑**
丑陋的解决方案,但如果有人有更好的解决方案,请为我工作,请分享:)
清空收集,通知GUI,添加通知gui的真实收藏