繁体   English   中英

WPF:是否可以使用数据模板和控件模板?

[英]WPF : Is it possible to use a data template and a control template?

我目前正在设计TabControl的样式,并且有一个奇怪的想法:

如果我想为我的应用程序中的所有选项卡使用默认的ControlTemplate,但为每个TabControl指定一个不同的DataTemplate(取决于我要显示的数据)怎么办?

你对那个怎么想的? 您知道是否有解决方案吗?

也许我走错路了...

谢谢你的想法 :-)

您不能为TabControl指定数据模板,而必须为 TabControl的所有TabItem中显示的数据指定数据模板。

我找到了一个方法! 实际上,TabControl的ItemContainerStyle属性提供了三个模板:

  1. HeaderTemplate,这是每个项目的标题的数据模板
  2. ContentTemplate,它是每个项目内容的数据模板
  3. 模板,可以是控件模板,也可以是我正在使用的模板!

这是我的操作方式(样式):

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

你对那个怎么想的?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM