我有以下简单的例子
<ContextMenu x:Shared="false">
<MenuItem Header="Usuń" CommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=Parent}"/>
<MenuItem CommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=Parent}">
<MenuItem.Style>
<Style TargetType="MenuItem">
<Setter Property="Header" Value="On"/>
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Parent.IsEnabled}" Value="False">
<Setter Property="Header" Value="Off"/>
</DataTrigger>
</Style.Triggers>
</Style>
</MenuItem.Style>
</MenuItem>
</ContextMenu>
第一次创建它时,它将Header的值设置为On,但是在time属性中IsEnabled设置为false并且不反映任何更改。任何帮助将不胜感激。
答案 0 :(得分:0)
在这种情况下,它似乎是因为元素的父级没有改变。尝试使用不同的RelativeSource(未经测试的示例):
<DataTrigger Binding="{Binding IsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1}}"
Value="False">