Is it possible to open another Window
in a TabControl
's TabItem
?
The reason I want to do this is that if I have 5 TabItem
s in my TabControl
, the one Window file I'm coding all these TabItem
s and their associated actions will get very large. So it would be nice if it was possible to to give each TabItem
its own Window
file.
Or how do you solve the problem where the Window
file controlling the TabControl
gets too large?
<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>
Your each TabUserControl is actually simple UserControl, since TabItem can host any control as its own child.
You have several choices:
You can also set the TabItem Content equals to your Window content
ex: [WindowType is your window]
WindowsType oWindow = new WindowType();
TabItem oTab = new TabItem();
oTab.Content = oWindow.Content;
为每个TabItem创建一个UserControl。
You can use a UserControl as was mentioned already.
But you can also use the Page control. Each "Window" would be a page, and the tab would have a NavigationControl in it. I've used this approach before and it works well. I prefer the UserControl route, but both are valid.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.