Вы можете сделать это, переместив все в DataTemplate
и используя там Trigger
s. Я, вероятно, рассмотрел бы предложение Роберта, чтобы это было исправлено в ViewModel
или каком-либо другом связанном объекте, потому что это звучит скорее так, как будто это больше логика бизнеса, чем просто пользовательский интерфейс. Это сказало:
<ContentControl Content="{Binding}">
<ContentControl.ContentTemplate>
<DataTemplate>
<Grid>
<ComboBox Height="23" HorizontalAlignment="Left" Margin="10,10,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" SelectionChanged="comboBox1_SelectionChanged"
SelectedValuePath="Content">
<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" >
</RadioButton>
<RadioButton Height="16" HorizontalAlignment="Left" Margin="10,69,0,0" Name="r2" VerticalAlignment="Top" Width="120" >
</RadioButton>
</Grid>
<DataTemplate.Triggers>
<Trigger SourceName="comboBox1" Property="SelectedValue" Value="R2">
<Setter TargetName="r1" Property="RadioButton.IsChecked" Value="True"/>
</Trigger>
<Trigger SourceName="comboBox1" Property="SelectedValue" Value="R3">
<Setter TargetName="r2" Property="RadioButton.IsChecked" Value="True"/>
</Trigger>
<Trigger SourceName="comboBox1" Property="SelectedValue" Value="R4">
<Setter TargetName="r2" Property="RadioButton.IsChecked" Value="True"/>
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</ContentControl.ContentTemplate>
</ContentControl>