0

WPF アプリケーションに、ラジオ ボタン グループのように機能する複数のオプションを含むメニューがあります (1 つを選択すると、残りのオプションが選択解除されます)。チェック可能なメニュー項目をラジオ ボタンのテンプレートとして使用したいと考えています。

テンプレートを設定しようとしましたが、期待どおりに動作しないようです。アイテムの選択と選択解除は、ラジオ ボタンの値と同期していないようです。

より複雑なテンプレートを使用して、パスなどを使用して選択したマークを「偽造」することもできると思いますが、そのような単純な目的のためには非常に多くの作業が必要です。また、より複雑なテンプレートを使用する場合は、やりたくないさまざまなテーマに対処する必要があります。

問題を示す簡単な例を次に示します。

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">  
  <Page.Resources>
    <ControlTemplate x:Key="Template" TargetType="{x:Type RadioButton}">      
      <MenuItem x:Name="item" Header="{TemplateBinding Content}" IsCheckable="True" IsChecked="False" />

      <ControlTemplate.Triggers>
        <Trigger Property="IsChecked" Value="True">
          <Setter TargetName="item" Property="IsChecked" Value="True" />
        </Trigger>
      </ControlTemplate.Triggers>      
    </ControlTemplate>
  </Page.Resources> 

  <StackPanel>
    <RadioButton Content="Foo" Template="{StaticResource Template}"/>  
    <RadioButton Content="Bar" Template="{StaticResource Template}"/>  
    <RadioButton Content="Biz" Template="{StaticResource Template}"/>  
  </StackPanel>  
</Page>
4

1 に答える 1