2009-08-20 132 views
0

在我的应用程序的对话框中,我有一个可观察的集合(存储在其他地方)绑定到选项卡列表。当我关闭并重新打开对话框时,当前选定的选项卡会丢失,并成为第一个选项卡。如何设置我的选项卡,以便选定的选项卡保持不变?当前项目的可观察集合?

我的印象是可观察集合具有“当前项目”属性,但似乎并非如此。我已经看过ItemCollection和CollectionView,它们有一个当前的项目属性,但我不确定这是否会对我感兴趣。

回答

1

在对话框的Closing事件中,保存当前选定的项TabItem

Loaded事件的对话框,简单地说:

yourTabControl.SelectedItem = _savedTab; 

代码背后,是实现这一点的最简单方法。 ObservableCollection不会帮助你。

2

这是一个老问题,但我会回答那些可能会找这个...

我该使用MVVM模式处理方式是对我的视图模型都一个ObservableCollection到该TabControl的绑定其ItemsSource以及TabControl绑定其SelectedItem属性的ActiveItem属性。

它工作得很好,并保持MVVM的设计原则(即ViewModel不应该意识到视图)。

+1

+1更好的MVVM中心方法。非常感谢。 – 2012-08-14 14:35:04