2 つのラジオ ボタンがあるウィンドウがあり、2 番目には IntegerUpDown があります。
「IsChecked」プロパティは IntegerUpDown にバインドされています。
IntegerUpDown に 1 ~ 100 の値を設定したいのですが、「1」が選択されている場合は、他のラジオ ボタンをオンにします。
たとえば、「12」と入力すると問題が発生します。「1」は、他の数字を待たずにすぐにラジオ ボタンをフリックします。
私のWPFコード:
ラジオボタン 1:
<RadioButton
Content="{Resx PatternDialog.MatchOnlySuffix, DefaultValue='suffix'}"
IsChecked="{Binding dnsLabelCount, Converter={local:DnsLabelCountToBoolConverter}}"/>
ラジオボタン 2:
<RadioButton
Name="matchUpToNumberSuffixRb"
Content="{Resx PatternDialog.MatchUpToNumberSuffix, DefaultValue='Match'}"
IsChecked="{Binding dnsLabelCount, Converter={local:DnsLabelCountToBoolConverter Invert=True}}"/>
IntegerUpDown:
<IntegerUpDown
Name="updown"
Value="{Binding dnsLabelCount}"
Width="55"
ForceRange="True"
MinValue="1"
MaxValue="100"
IsEnabled="{Binding IsChecked, ElementName=matchUpToNumberSuffixRb}"/>
これは私のコンバーターであり、そうすべきではないことはわかっていますが、何に変更すればよいかわかりません。
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var result = (int)value == 1;
return Invert ? !result : result;
}