设计视图+用户控件/ tabitem显示为空按钮

时间:2015-02-26 14:49:24

标签: c# wpf xaml user-controls

所以我想把TabContem的TabItem分成不同的文件。我找到了为每个选项卡创建用户对比的建议,然后用TabItem替换UserControl。这很有效,我能够在我的TabControl中引用独立的TabItem,并且可以在正在运行的应用程序中查看该选项卡。唯一的问题是TabItem不再能够在设计视图中查看。我认为这与事实有关,因为它是一个独立的TabItem,没有包含在tabcontrol中。

以下链接是我使用的参考:TabItem in a separate XAML

1 个答案:

答案 0 :(得分:0)

NVM。我想到了。这是一个将它保持为用户控件并将其包含在TabItem中而不是将UserControl重命名为TabItem并将其包含在TabControll内部的问题。

<强> WRONG:

<TabControl>
    <myTabItems:Tab1 />
    <myTabItems:Tab2 />
    ...
    <myTabItems:Tabn />
</TabControl>

TabItem控件(错误

<TabItem x:Class="MyProject.My_Tabs.Tab1"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         mc:Ignorable="d">
    <Grid>
        <!-- Content goes here -->
    </Grid>
</TabItem>

从右:

<TabControl>
    <TabItem>
        <myTabItems:Tab1 />
    </TabItem>
    <TabItem>
        <myTabItems:Tab2 />
    </TabItem>
    ...
    <TabItem>
        <myTabItems:Tabn />
    </TabItem>    
</TabControl>

TabItem控件( RIGHT

<UserControl x:Class="MyProject.My_Tabs.Tab1"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         mc:Ignorable="d">
    <Grid>
        <!-- Content goes here -->
    </Grid>
</UserControl>