在主选项卡窗口中添加xaml文件

时间:2011-04-16 21:53:43

标签: c# wpf mdi tabbed-interface

我正在尝试使用选项卡式界面创建应用程序。现在我有这种界面 enter image description here

使用此代码

<Window x:Class="BMG.BackOffice.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        
    Title="MainWindow" Height="572" Width="776">

<TabControl>
    <TabItem>
        <TabItem.Header>
            <TextBlock>
                tab1
            </TextBlock>
        </TabItem.Header>
        <Label>Test for tab1</Label>
    </TabItem>

    <TabItem>
        <TabItem.Header>
            <TextBlock>
                tab2
            </TextBlock>
        </TabItem.Header>
    </TabItem>

    <TabItem>
        <TabItem.Header>
            <TextBlock>
                tab3
            </TextBlock>
        </TabItem.Header>            
    </TabItem>

    <TabItem>
        <TabItem.Header>
            <TextBlock>
              tab4
            </TextBlock>
        </TabItem.Header>
    </TabItem>
</TabControl>

我已经编写了其他窗口,我想知道是否可以在选项卡中“插入”这些窗口(选项卡的窗口)。所以要替换<Label>Test for tab1</Label> 通过窗口(.xaml文件)

感谢您的回复

2 个答案:

答案 0 :(得分:1)

通常,您会将这些窗口控件转换为UserControls,然后将它们嵌入TabItems中。

<TabItem>
        <TabItem.Header>
            <TextBlock>
                tab1
            </TextBlock>
        </TabItem.Header>
        <MyUserControl />
</TabItem>

我不知道你是否可以在另一个窗口内有一个窗口,但是阅读this问题Thomas Levesque说一个人不能在一个tabitem中有另一个窗口。

答案 1 :(得分:1)

您可以加载Window并获取其Content属性,因为Window本身不能是另一个控件的子项。

我应该注意到这是非常混乱,最好的解决方案可能是将Window的内容转换为UserControl,这样你就可以在窗口和TabControl,曾经可以调用复合UI重构,我猜。