在我的应用程序的对话框中,我有一个可观察的集合(存储在其他地方)绑定到选项卡列表。当我关闭并重新打开对话框时,当前选定的选项卡会丢失,并成为第一个选项卡。如何设置我的选项卡,以便选定的选项卡保持不变?当前项目的可观察集合?
我的印象是可观察集合具有“当前项目”属性,但似乎并非如此。我已经看过ItemCollection和CollectionView,它们有一个当前的项目属性,但我不确定这是否会对我感兴趣。
在我的应用程序的对话框中,我有一个可观察的集合(存储在其他地方)绑定到选项卡列表。当我关闭并重新打开对话框时,当前选定的选项卡会丢失,并成为第一个选项卡。如何设置我的选项卡,以便选定的选项卡保持不变?当前项目的可观察集合?
我的印象是可观察集合具有“当前项目”属性,但似乎并非如此。我已经看过ItemCollection和CollectionView,它们有一个当前的项目属性,但我不确定这是否会对我感兴趣。
在对话框的Closing
事件中,保存当前选定的项TabItem
。
在Loaded
事件的对话框,简单地说:
yourTabControl.SelectedItem = _savedTab;
代码背后,是实现这一点的最简单方法。 ObservableCollection
不会帮助你。
这是一个老问题,但我会回答那些可能会找这个...
我该使用MVVM模式处理方式是对我的视图模型都一个ObservableCollection到该TabControl的绑定其ItemsSource以及TabControl绑定其SelectedItem属性的ActiveItem属性。
它工作得很好,并保持MVVM的设计原则(即ViewModel不应该意识到视图)。
+1更好的MVVM中心方法。非常感谢。 – 2012-08-14 14:35:04