3

メニュー項目に「貧乏人」トグル ボタンを実装したいと考えています。基本的に、チェックされている場合は「Metric」と表示され、チェックされていない場合は「Imperial」と表示されます。私はそれを働かせることができません。

これが私が試したことです:

<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' が認識されないか、アクセスできません" (ヘッダーも同様)。

するとエラーは消えますが<Style TargetType="{x:Type MenuItem}">、何もしません。

なしで直接試しました<Style>

<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>

無効。

4

1 に答える 1