在WPF中使用MVVM模式中的Tabcontrol

时间:2017-10-03 15:17:35

标签: c# wpf xaml mvvm

我有多个窗口文件,我想将我的Xaml文件(窗口)合并到MVVM模式中的Tab控件中。 每个项目Tab都代表一个Xaml文件。 我需要这样的东西:

 <TabControl >
        <TabItem>
            <local:FirstView></local:FirstView>
        </TabItem>

        <TabItem>
            <local:SecondView></local:SecondView>
        </TabItem>
 </TabControl>

但是我得到了这个错误:

&#34;窗口必须是树的根。无法将Window添加为Visual的孩子。&#34;

我见过很多这样的主题,但他们使用用户控件,或者他们使用多个View Model的单个视图。

有没有办法将窗口(xaml)导入到制表符控件中?

另一个重要的事情,我想要一个像取消,按下取消的按钮意味着我们必须返回一个级别(转到另一个选项卡项目)。 视图模型不知道视图,那么我如何浏览它们呢?

1 个答案:

答案 0 :(得分:5)

  

有没有办法将窗口(xaml)导入到制表符控件中?

不,没有。 System.Windows.Window不能是另一个System.Windows.Window的孩子。

标签项的内容应定义为UserControls

您应该只能将窗口内容移动到用户控件。