В общем, если это только 1 RadioButtonGroup, я бы предложил вам использовать по умолчанию. В результате вам не нужно проверять, если что-то проверено или нет.
Если у нас есть RadioButtonGroup с более чем двумя опциями, мы обычно используем перечисления и преобразователи, как показано в следующем примере:
<StackPanel>
<RadioButton Content="Yes"
Padding="5,0"
IsChecked="{Binding Path=Existing, Mode=TwoWay, Converter={StaticResource EnumToBooleanConverter}, ConverterParameter=Yes}"
GroupName="Existing" />
<RadioButton Content="InProgress"
Margin="5,0"
Padding="5,0"
IsChecked="{Binding Path=Existing, Mode=TwoWay, Converter={StaticResource EnumToBooleanConverter}, ConverterParameter=Pending}"
GroupName="Existing" />
<RadioButton Content="No"
Margin="5,0"
Padding="5,0"
IsChecked="{Binding Path=Existing, Mode=TwoWay, Converter={StaticResource EnumToBooleanConverter}, ConverterParameter=No}"
GroupName="Existing" />
</StackPanel>
Обратите внимание, что Existing является Enum и преобразуется в логическое значение (EnumToBooleanConverter) с помощью System.Enum.Parse (value.GetType (), parameterString, true). Поскольку Enum не обнуляется, постоянно проверяется одна из четырех RadioButtons!