我可以帮助您翻译。以下是需要翻译的内容:
首先,当我将属性更改为
随后我尝试了一个
没有效果。
我想为一个菜单项实现一个“穷人”的切换按钮。基本上,当它被选中时,它应该显示“公制”,而当它未被选中时,则显示“英制”。但我无法让它起作用。
这是我尝试过的方法:
<MenuItem IsCheckable="True" IsChecked="True">
<Style>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Header" Value="Metric"/>
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Header" Value="Imperial"/>
</Trigger>
</Style.Triggers>
</Style>
</MenuItem>
出现了错误
成员“IsChecked”未被识别或无法访问(Header同理)。
当我使用<Style TargetType="{x:Type MenuItem}">
时,错误消失了,但什么也没有发生。
我尝试直接使用<Style>
而不是<Style TargetType="{x:Type MenuItem}">
<MenuItem.Triggers>
<Trigger...>
</MenuItem.Triggers>
首先,当我将属性更改为
Property="MenuItem.IsChecked"
时,它给我返回了与上述相同的错误,但是它开始通知我只允许使用 EventTriggers。随后我尝试了一个
DataTrigger
,但是没有效果:<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type MenuItem}}, Path=IsChecked}" Value="True">
<Setter Property="Header" Value="Metric"/>
</DataTrigger>
没有效果。
<MenuItem.Style>
就不正确吗? - New DevTrigger
,只需选择一个您的值作为Style
的默认设置器,并且只有一个触发器来切换该值。 - Viv