我知道RelativeSource Self
绑定到范围内的DataContext
。那不是我想要的。我有一个TextBlock
,我想设置一个触发器,它将多个绑定2个东西。来自DataContext/ViewModel
的值很容易,我已经做到了。我想要的第二个值是TextBlock
的Text属性。我似乎无法获得语法。
我有一个TextBlock风格的触发器。
<Style TargetType="TextBlock"}">
<Setter Property="Margin" Value="10"></Setter>
<Style.Triggers>
<DataTrigger Value="True">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource CustomMultiValueConverter}">
<Binding Path="SelectedCategory"></Binding>
<Binding Path="Text" RelativeSource="{RelativeSource Self}"></Binding>
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="Foreground" Value="Blue"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
答案 0 :(得分:1)
您应该能够使用RelativeSource.AncestorType
Binding
来达到TextBlock.Text
值。试试这个:
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Margin" Value="10"></Setter>
<Style.Triggers>
<DataTrigger Value="True">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource CustomMultiValueConverter}">
<Binding Path="SelectedCategory"></Binding>
<Binding Path="Text" RelativeSource="{Binding RelativeSource
AncestorType={x:Type TextBlock}}" />
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="Foreground" Value="Blue"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>