【发布时间】:2010-11-11 10:21:34
【问题描述】:
我目前正在设计 TabControl 的样式,并且有一个奇怪的想法:
如果我想为我的应用程序中的所有选项卡设置默认 ControlTemplate,但为每个 TabControl 指定不同的 DataTemplate(取决于我要显示的数据)怎么办?
你怎么看?不知道有没有办法解决这个问题?
也许我走错路了……
感谢您的想法:-)
【问题讨论】:
标签: wpf datatemplate controltemplate
我目前正在设计 TabControl 的样式,并且有一个奇怪的想法:
如果我想为我的应用程序中的所有选项卡设置默认 ControlTemplate,但为每个 TabControl 指定不同的 DataTemplate(取决于我要显示的数据)怎么办?
你怎么看?不知道有没有办法解决这个问题?
也许我走错路了……
感谢您的想法:-)
【问题讨论】:
标签: wpf datatemplate controltemplate
您不能为 TabControl 指定 DataTemplate 您为在 您的 TabControl 的所有 TabItems 中显示的数据指定 DataTemplate。
【讨论】:
我找到了方法! 实际上,TabControl 的 ItemContainerStyle 属性提供了三个模板:
这是我的做法(风格):
<Style x:Key="MyTabItemStyle" TargetType="{x:Type TabItem}">
<Setter Property="Template"
Value="{StaticResource ControlTemplate}"/>
<Setter Property="Header" Value="{Binding}"/>
<Setter Property="HeaderTemplate"
Value="{StaticResource HeaderTemplate}"/>
<Setter Property="Content" Value="{Binding}"/>
<Setter Property="ContentTemplate"
Value="{StaticResource ContentTemplate}"/>
</Style>
并将其链接到 TabControl :
<TabControl ItemsSource="{Binding Elements}"
SelectedIndex="{Binding SelectedIndex}"
ItemContainerStyle="{DynamicResource MyTabItemStyle}">
你怎么看?
【讨论】: