我需要的是一个控件,它的功能与选项卡控件相同,但是选项卡不在顶部而是在侧边的列表框中显示。我认为这是可能的,但是没有找到任何示例,我希望有人能像这样做过。
WPF 控件旨在实现完全自定义可视化效果的同时重用控件功能。你需要为 TabControl
创建自己的 ControlTemplate
,以完全替换其可视化表示。你可以在 MSDN 上找到 TabControl ControlTemplate 示例。此外,你还需要学习 MSDN 上的控件撰写概述。
我发现 Silverlight 3 文档更易于理解,即使在控件样式方面存在一些差异,其基本概念仍然相同。你可以阅读 MSDN 上使用 ControlTemplate 自定义现有控件外观 了解控件模板,并通过 TabControl 样式和模板 了解如何在 Silverlight 中创建自己的控件模板所需的内容。
你可以使用 Expression Blend 提取 WPF 默认的 TabControl
模板。
你根本不需要使用 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>