是否可以创建一个外观与选项卡控件完全不同的WPF选项卡控件模板?

8
我需要的是一个控件,它的功能与选项卡控件相同,但是选项卡不在顶部而是在侧边的列表框中显示。我认为这是可能的,但是没有找到任何示例,我希望有人能像这样做过。
2个回答

12

WPF 控件旨在实现完全自定义可视化效果的同时重用控件功能。你需要为 TabControl 创建自己的 ControlTemplate,以完全替换其可视化表示。你可以在 MSDN 上找到 TabControl ControlTemplate 示例。此外,你还需要学习 MSDN 上的控件撰写概述

我发现 Silverlight 3 文档更易于理解,即使在控件样式方面存在一些差异,其基本概念仍然相同。你可以阅读 MSDN 上使用 ControlTemplate 自定义现有控件外观 了解控件模板,并通过 TabControl 样式和模板 了解如何在 Silverlight 中创建自己的控件模板所需的内容。

你可以使用 Expression Blend 提取 WPF 默认的 TabControl 模板。


3
很好的文章,很好地总结了WPF控件的功能和意图。我还没有被认为有资格进行点赞,否则这是另一个有用的答案,我会给予认可。也许我会记得回来看这个问题,如果我真的达到了那个点。 - jan

11

你根本不需要使用 TabControl 。你可以只将你的 ListBox 绑定到一个项列表上,并在旁边放置一个绑定到选定项的 ContentControl

<DockPanel>
    <ListBox Name="listBox"
             DockPanel.Dock="Left"
             ItemsSource="{Binding Items}"
             DisplayMemberPath="Name"/>
    <ContentControl Content="{Binding SelectedItem, ElementName=listBox}"
                    ContentTemplate="{StaticResource theTemplate}"/>
</DockPanel>

呵呵 :). 你写得比我按“发布答案”按钮还快。我只是想写一下关于使用ListBox的主细节场景,但你做得更快 :). 干杯。 - Anvaka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接