是否可以在Window
TabControl
中打开另一个TabItem
?
我想这样做的原因是,如果我的TabItem
中有5个TabControl
,那么我正在编码所有这些TabItem
的一个Window文件及其相关操作会变得非常大。因此,如果有可能为每个TabItem
提供自己的Window
文件,那就太好了。
或者您如何解决控制Window
的{{1}}文件过大的问题?
答案 0 :(得分:8)
<Window ...
xmlns:local="clr-namespace:MyNamespace"
>
<TabControl>
<TabItem Header="FirstTab">
<local:MyFirstTabUserControl/>
</TabItem>
<TabItem Header="SecondTab">
<local:MySecondTabUserControl/>
</TabItem>
<TabItem Header="ThirdTab">
<local:MyThirdTabUserControl/>
</TabItem>
</TabControl>
</Window>
您的每个TabUserControl实际上都是简单的UserControl,因为TabItem可以将任何控件托管为自己的子项。
答案 1 :(得分:4)
您有多种选择:
答案 2 :(得分:3)
您还可以将TabItem内容设置为等于窗口内容
ex:[WindowType是你的窗口]
WindowsType oWindow = new WindowType();
TabItem oTab = new TabItem();
oTab.Content = oWindow.Content;
答案 3 :(得分:2)
为每个TabItem创建一个UserControl。
答案 4 :(得分:0)
您可以使用已经提到过的UserControl。
但您也可以使用Page控件。每个“窗口”都是一个页面,选项卡中会有一个NavigationControl。我之前使用过这种方法,效果很好。我更喜欢UserControl路由,但两者都有效。