У меня есть такой стиль в WPF
<Style x:Key="SubTabItem" TargetType="{x:Type TabItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding Path=IsSelected}" Value="false">
<Setter Property="TabItem.IsEnabled" Value="false" />
</DataTrigger>
</ControlTemplate.Triggers>
Я хочу использовать его с моим TabItem таким образом
<TabControl x:Name="configControl" Padding="0" Background="{x:Null}" BorderThickness="0" FocusVisualStyle= "{x:Null}" >
<TabItem x:Name="MyName" Header="My Name" Visibility="Visible" Style="{DynamicResource SubTabItem}">
</TabItem>
</TabControl>
Я назначаю configControl.DataContext в codebehind.
Когда я использую его таким образом (с точным связыванием в ControlTemplate datatrigger) - это работает.Но я хочу PASS другой путь привязки к стилю при использовании его в целевом элементе.Как я понимаю, я могу сделать это через TemplateBinding, но я не могу найти, как?
Я могу сделать несколько одинаковых стилей для каждой привязки, но я хочу найти способ упростить ее, чтобы я мог написатьчто-то вроде этого:
<TabItem x:Name="MyName" Header="My Name" Visibility="Visible" Style="{DynamicResource SubTabItem}" Binding={Binding Path=IsSelected}>
</TabItem>
<TabItem x:Name="MyName2" Header="My Name2" Visibility="Visible" Style="{DynamicResource SubTabItem}" Binding={Binding Path=IsThisSelected}>
</TabItem>
, поэтому он использует эти пути и решает, включать или отключать каждый из этих элементов вкладки на основе переданного значения.