Ali*_*efi 3 wpf xaml styles tabitem
如何做Wpf TabItem样式HeaderTemplate绑定?
码:
<TabControl x:Name="tabCtrlMain" ItemsSource="{Binding Items}" >
<TabControl.Resources>
<Style TargetType="TabItem">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate DataType="{x:Type TabItem}">
<TextBlock Text="{Binding FileName}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Resources>
</TabControl>
Run Code Online (Sandbox Code Playgroud)
绑定时此代码不起作用:
<TextBlock Text="{Binding FileName}"/>
Run Code Online (Sandbox Code Playgroud)
小智 12
试试这个,
<TabControl x:Name="tabCtrlMain" ItemsSource="{Binding Items}" >
<TabControl.Resources>
<Style TargetType="TabItem">
<Setter Property="Header" Value="{Binding FileName}" />
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate DataType="{x:Type TabItem}">
<Border x:Name="grid">
<ContentPresenter>
<ContentPresenter.Content>
<TextBlock Text="{TemplateBinding Content}"/>
</ContentPresenter.Content>
</ContentPresenter>
</Border>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Resources>
</TabControl>
Run Code Online (Sandbox Code Playgroud)
Moj*_*ter 11
我知道现在已经非常老了,但我想我只是为了完整性和历史准确性而扔掉我的两分钱:)
我更喜欢使用ItemContainerStyle做同样的事情,因为它对我来说感觉有点干净,因为它确切地说明了目的:
<TabControl ItemsSource="{Binding Items}">
<TabControl.ItemContainerStyle>
<Style TargetType="TabItem">
<Setter Property="Header" Value="{Binding FileName}" />
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<Border>
<TextBlock Text="{Binding Content}" />
</Border>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.ItemContainerStyle>
</TabControl>
Run Code Online (Sandbox Code Playgroud)
此外,如果唯一的目标是将FileName放入选项卡,那么它可以更简单:
<TabControl ItemsSource="{Binding Items}" DisplayMemberPath="FileName" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23459 次 |
| 最近记录: |