是否可以创建一个看起来不像选项卡控件的WPF选项卡控件模板?

时间:2009-09-01 22:28:43

标签: wpf wpf-controls tabcontrol controltemplate

我想要的是一个控件,它的功能就像选项卡控件一样,但不是在顶部有选项卡,项目将显示在侧面的列表框中。我想这是可能的,但没有找到任何例子,我希望有人在这里做了类似的事情。

2 个答案:

答案 0 :(得分:12)

WPF控件旨在实现您想要的功能。在完全替换可视化表示的同时重用控制功能。您必须为ControlTemplate创建自己的TabControl。你可以找到TabControl ControlTemplate Example on MSDN。您还必须学习Control Authoring Overview on MSDN

我实际上发现Silverlight 3文档更容易消化,尽管在控制样式方面存在一些差异,但基本概念仍然相同。您可以阅读Customizing the Appearance of an Existing Control by Using a ControlTemplate on MSDN以了解控件模板,然后学习TabControl Styles and Templates以了解在Silverlight中创建自己的控件模板所需的内容。

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

答案 1 :(得分: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>