WPF:通过使用导航窗口实现标签来维护状态?

时间:2011-03-17 16:28:07

标签: c# wpf tabcontrol navigationwindow

我正在使用C#WPF创建一个应用程序,该应用程序由一个具有多个页面的顶级NavigationWindow组成,我为了项目的目的而在这些页面之间导航。此时,我想通过添加程序的第二个“状态”来扩展应用程序的功能。

以下是我希望如何工作:本质上该程序是一个数据收集应用程序。此时它显示数据库A的相关UI信息,并允许您专门收集该数据的数据。我想通过添加第二组UI元素来扩展软件,这些元素收集数据库B的不同数据,我想使用顶部的Tabs在它们之间导航(所以使用tabcontrol和tabitems)。

我坚持的部分是维护状态部分:例如,如果我在数据库A的选项卡上,我可以通过日期选择屏幕和实际的收集屏幕,但如果我点击在数据库B的选项卡上,它仍将返回日期选择屏幕,因为我还没有做任何事情(基本上就像在每个标签内同时运行2个程序)。

我试过看看是否可以将软件的根元素从NavigationWindow更改为包含tabitems内部的NavigationWindow的页面(因为只有Page实现了tabcontrol),但我还没想出如何做到这一点(如果它甚至可以做到)。有没有更好的方法来做这件事?

1 个答案:

答案 0 :(得分:0)

我认为有两种方法可以做到这一点:

  1. 将状态信息保留在选项卡的内容之外。因此,会跟踪比TabControl的内容更高级别的CurrentStep等项目

  2. 或制作假的标签控件。切换标签并没有真正改变任何内容,而只是改变了ViewModel中确定连接的属性。

  3. 作为旁注,为什么不考虑使用下拉列表来指定数据库而不是选项卡控件?