我正在使用WPF和MVVM Light框架。
我想知道如何在组合框上恢复选择。
例如:
到目前为止,我的xaml是这样的:
ComboBox ItemsSource="{Binding SourceData}" SelectedItem="{Binding SelectedSourceData,Mode=TwoWay}"
我的绑定SourceData在我的MainViewModel.cs中定义为:
public ObservableCollection<TextItem> SourceData { get; set; }
我的组合框没有名称。有没有办法使用绑定方法还原选择?
非常感谢任何帮助。
感谢。
答案 0 :(得分:1)
(未经测试)
在ViewModel的绑定属性集中,在内部设置值之前调用Confirm Dialog。只有在答案为是时才设置私有值,然后在两种情况下都提高属性。
这仍然是可测试的(如果您有确认对话框的可模拟界面)。
答案 1 :(得分:0)
我刚刚通过列表视图
进行了讨论请参阅this link
您必须使用eventtocommand绑定到组合框的selecteditemchanged事件上的中继命令。选择将更改,但您可以验证您的逻辑并在需要时将其更改回来
答案 2 :(得分:0)
ICollectionView
是选择中最常用的。
MoveCurrentToPrevious()
将选择从当前移动到前一个,这就是您要查找的内容。所以,将它绑定到您的ComboBox
并使用它! for more info in MSDN希望它有所帮助。
答案 3 :(得分:0)
我有同样的问题,由UI线程引起的原因和出价的方式。检查此链接: SelectedItem on ComboBox
示例中的结构使用了代码,但MVVM完全相同。