类似网格的WPF控件

时间:2012-05-16 08:46:39

标签: c# wpf xaml

我想实现一个'TabManager'控件,它可以像XAML中的Grid一样实例化。这看起来是一个相当普遍的任务,但我似乎无法找到一个教程,我仍然不想重新发明轮子,所以我想知道这里是否有人有一个例子。

我希望XAML生成控件,看起来像这样:

   <TabManager>
        <TabManager.TabDefinitions>
            <TabDefinition Caption="Tab 1"/>
            <TabDefinition Caption="Tab 2"/>
            <TabDefinition Caption="Tab 3"/>
        </TabManager.TabDefinitions>

        <TabPanel TabManager.Tab="0">
            <TextBlock Text="foo"/>
        </TabPanel>
        <TabPanel TabManager.Tab="1">
            <TextBlock Text="bar"/>
        </TabPanel>
        <TabPanel TabManager.Tab="2">
            <TextBlock Text="baz"/>
        </TabPanel>
    </TabManager>

TabManager将渲染一些按钮和一些元素以包含TabPanels的子节点 - 例如将它们放入DockPanel或我选择做的任何其他事情;无所谓。

1 个答案:

答案 0 :(得分:2)

您是否尝试过<TabControl>

例如 -

<TabControl>
        <TabItem Header="Tab1" x:Name="Tab1">
            <Grid>
                <TextBlock Text="foo"/>
            </Grid>
        </TabItem>
        <TabItem Header="Tab2" x:Name="Tab2">
            <Grid>
                <TextBlock Text="bar"/>
            </Grid>
        </TabItem>
        <TabItem Header="Tab3" x:Name="Tab3">
            <Grid>
                <TextBlock Text="baz"/>
            </Grid>
         </TabItem>
    </TabControl>