У меня есть окно с двумя переключателями, у второго - 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;
}