2012-06-03 44 views
0

我想创建一个用户控件,它基本上包括一个选项卡项。如下所示,并尝试将其添加到另一个库中的我的选项卡控件中。从另一个组件的主机TabItem

//Grid.xaml in a.dll 

<UserControl x:Name="Grid" x:Class="SomeClass" 
      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" 
      d:DesignHeight="300" d:DesignWidth="300"> 

    <TabItem Header="Grid"> 
     <DataGrid HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/> 
    </TabItem> 

</UserControl> 

//TabView.xaml in b.dll 
<UserControl 
      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" 
      xmlns:Views="clr-namespace:SomeClass;assembly=SomeAssembly" x:Class="SomeClass" 
      mc:Ignorable="d" 
      d:DesignHeight="300" d:DesignWidth="300"> 

    <TabControl HorizontalAlignment="Stretch" VerticalAlignment="Stretch" > 

     <Views:GridView/> 

     <TabItem Header="This" /> 
     <TabItem Header="That" /> 


    </TabControl> 
</UserControl> 

我的问题是,它实际上创建了标签,但没有显示标签的标题。我想知道我是否正确地做了,我该如何显示标题?

回答

0

您的问题是,您在a.dll中的控件不是TabItem。它是UserControl。您可以从TabItem继承它(对于WPF来说这是一种不好的方式),也可以使用组合:

//Grid.xaml in a.dll 
<UserControl x:Name="Grid" x:Class="SomeClass" 
      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" 
      d:DesignHeight="300" d:DesignWidth="300"> 

    <DataGrid HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/> 

</UserControl> 


//TabView.xaml in b.dll 
<UserControl 
      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" 
      xmlns:Views="clr-namespace:SomeClass;assembly=SomeAssembly" x:Class="SomeClass" 
      mc:Ignorable="d" 
      d:DesignHeight="300" d:DesignWidth="300"> 

    <TabControl HorizontalAlignment="Stretch" VerticalAlignment="Stretch" > 

     <TabItem Header="Grid"> 
      <Views:GridView/> 
     </TabItem> 

     <TabItem Header="This" /> 
     <TabItem Header="That" /> 


    </TabControl> 
</UserControl> 
相关问题