1

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

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

4

2 回答 2

4

这是一个老问题,但我会回答那些可能正在寻找这个的人......

我使用 MVVM 模式处理此问题的方式是在我的 ViewModel 上同时拥有 TabControl 绑定其 ItemsSource 的 ObservableCollection 以及 TabControl 绑定其 SelectedItem 属性的 ActiveItem 属性。

它工作得很好并且保持了 MVVM 的设计原则(即 ViewModel 不应该知道视图)。

于 2012-07-13T22:00:01.333 回答
1

如果Closing出现对话,请保存当前选定的TabItem.

如果Loaded出现对话,只需说:

yourTabControl.SelectedItem = _savedTab;

代码隐藏是完成此任务的最简单方法。ObservableCollection不会帮助你。

于 2009-08-20T16:35:22.107 回答