Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF:通过使用导航窗口实现选项卡来维护状态?_C#_Wpf_Tabcontrol_Navigationwindow - Fatal编程技术网

C# WPF:通过使用导航窗口实现选项卡来维护状态?

C# WPF:通过使用导航窗口实现选项卡来维护状态?,c#,wpf,tabcontrol,navigationwindow,C#,Wpf,Tabcontrol,Navigationwindow,我正在用C#WPF制作一个应用程序,它由一个顶部根导航窗口组成,其中有几个页面,我在这些页面之间导航,以实现项目的目的。此时,我想通过添加程序的第二个“状态”来扩展应用程序的功能 我希望这样做:该程序本质上是一个数据采集应用程序。目前,它显示数据库A的相关UI信息,并允许您专门为该数据库收集数据。我想通过添加第二组UI元素来扩展软件,这些元素为数据库B收集不同的数据,我想使用顶部的选项卡在它们之间导航(也就是使用tabcontrol和tabitems) 我一直停留在维护状态部分:例如,如果我在数

我正在用C#WPF制作一个应用程序,它由一个顶部根导航窗口组成,其中有几个页面,我在这些页面之间导航,以实现项目的目的。此时,我想通过添加程序的第二个“状态”来扩展应用程序的功能

我希望这样做:该程序本质上是一个数据采集应用程序。目前,它显示数据库A的相关UI信息,并允许您专门为该数据库收集数据。我想通过添加第二组UI元素来扩展软件,这些元素为数据库B收集不同的数据,我想使用顶部的选项卡在它们之间导航(也就是使用tabcontrol和tabitems)

我一直停留在维护状态部分:例如,如果我在数据库A的选项卡上,我可以通过日期选择屏幕进入实际收集屏幕,但是如果我单击数据库B的选项卡,那么它仍然会回到日期选择屏幕,因为我还没有在那里做任何事情(本质上类似于在每个选项卡中同时运行两个程序)


我试着看看是否可以将软件的根元素从NavigationWindow更改为tabitems中包含NavigationWindow的页面(因为只有页面实现了tabcontrol),但我还没有想出如何做(如果可以的话).有更好的方法吗?

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

  • 将状态信息保留在选项卡内容之外。这样,诸如CurrentStep之类的项目将在比选项卡控件内容更高的级别上进行跟踪

  • 或者制作一个假的选项卡控件。切换选项卡实际上不会改变任何东西,相反,它只会更改ViewModel中确定连接的属性

  • 作为一个旁注,为什么不考虑下拉来指定数据库而不是选项卡控件?< /P>