WPF窗口内容作为另一个窗口的内容

时间:2013-08-28 09:28:28

标签: c# wpf

我需要将窗口显示为另一个窗口的Tab内部,并使用以下

进行操作
 var childWindowEditor = new MainWindow();   //window to embed
 object content = childWindowEditor.Content; //take out the content of the window to embed
 childWindowEditor.Content = null;
 EditorTab.Content = content;                //just a tab in a tabbed group

它的工作正常,但问题是如果我想访问窗口类的功能?

我知道我应该将其创建为用户控件,但有没有必须创建该窗口内容作为用户控件的解决方案?

会将内容转换为我从工作中获取内容的窗口吗?

2 个答案:

答案 0 :(得分:1)

您应该使用MVVM模式。您的ViewModel将是DataContext的{​​{1}}。所以你可以简单地做一些像

这样的事情
childWindowEditor

就是这样。我真的建议你使用EditorTab.DataContext = childWindowEditor.DataContext; 。它让你的生活更轻松。

答案 1 :(得分:0)

您可以使用页面和框架来显示页面。

在标签上添加框架,如下所示:

<TabItem> <Frame Name="Frame1"></Frame> </TabItem>

在框架内显示页面:

Frame1.Content = new MyPage1();