a1、a2、a3、a4 のアイテムを持つコンボ ボックスがあり、r1 と r2 の 2 つの RadioButton があります。これが私が達成したいことです: ユーザーがコンボボックスから項目 a2 を選択した場合、r1 の IsChecked プロパティを true に設定する必要があります。ユーザーがコンボボックスから項目 a3 または a4 を選択した場合、r2 の IsChecked プロパティを true に設定する必要があります。これを宣言的に達成したいと思います。つまり、コンバーターを使用しません。これが私のコードです。事前に感謝します:
<Window x:Class="BMSystem.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Window.Resources>
<Style x:Key="myRadioActivator1">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Content, ElementName=comboBox1}" Value="R2">
<Setter Property="RadioButton.IsChecked" Value="True"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="myRadioActivator2">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Content, ElementName=comboBox1}" Value="R3">
<Setter Property="RadioButton.IsChecked" Value="True"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=Content, ElementName=comboBox1}" Value="R4">
<Setter Property="RadioButton.IsChecked" Value="True"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<ComboBox Height="23" HorizontalAlignment="Left" Margin="10,10,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" SelectionChanged="comboBox1_SelectionChanged">
<ComboBoxItem>R1</ComboBoxItem>
<ComboBoxItem>R2</ComboBoxItem>
<ComboBoxItem>R3</ComboBoxItem>
<ComboBoxItem>R4</ComboBoxItem>
</ComboBox>
<RadioButton Height="16" HorizontalAlignment="Left" Margin="10,43,0,0" Name="r1" VerticalAlignment="Top" Width="120" Style="{StaticResource myRadioActivator1}">
</RadioButton>
<RadioButton Height="16" HorizontalAlignment="Left" Margin="10,69,0,0" Name="r2" VerticalAlignment="Top" Width="120" Style="{StaticResource myRadioActivator2}">
</RadioButton>
</Grid>
</Window>