【问题标题】:Grid-like WPF control类似网格的 WPF 控件
【发布时间】:2012-06-26 22:19:32
【问题描述】:

我想实现一个“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 将呈现一些按钮和一些元素以包含 TabPanel 的子项 - 例如。将它们放入 DockPanel 或我选择做的任何其他事情中;应该没关系。

【问题讨论】:

  • 您要创建用户控件吗? [链接] WPF 用户控制codeproject.com/Articles/32825/…
  • 我更可能从 Panel 派生,就像 Grid 一样。我的问题的重点是如何在 TabManager 类中支持多个孩子。
  • 所以基本上你希望 TabManager 像网格布局一样显示选项卡?但你只想要顶部的水平线,所以它看起来像标签?但是 TabControl 已经有了类似的功能。

标签: c# wpf xaml


【解决方案1】:

你试过&lt;TabControl&gt;吗?

例如-

<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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-15
    • 2010-10-09
    • 2010-10-31
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多