Radio buttons binding on specific value without prefix on WPF

89 Views Asked by At

I have a window that has two radio buttons, the 2nd has an IntegerUpDown.

The "IsChecked" property is binding to the IntegerUpDown.

I want the IntegerUpDown to have values between 1 and 100, but in case "1" is selected - I want the other radio button to be turned on.

The issue starts when typing, for example, "12". The "1" immediately flicks the radio button without waiting for the other numbers.

My WPF code:

Radio Button 1:

<RadioButton 
    Content="{Resx PatternDialog.MatchOnlySuffix, DefaultValue='suffix'}"
    IsChecked="{Binding dnsLabelCount, Converter={local:DnsLabelCountToBoolConverter}}"/>

Radio Button 2:

<RadioButton 
    Name="matchUpToNumberSuffixRb"
    Content="{Resx PatternDialog.MatchUpToNumberSuffix, DefaultValue='Match'}"
    IsChecked="{Binding dnsLabelCount, Converter={local:DnsLabelCountToBoolConverter Invert=True}}"/>

The IntegerUpDown:

<IntegerUpDown 
    Name="updown"
    Value="{Binding dnsLabelCount}"
    Width="55" 
    ForceRange="True"
    MinValue="1"
    MaxValue="100"
    IsEnabled="{Binding IsChecked, ElementName=matchUpToNumberSuffixRb}"/>

This is my converter, which I know should not be so, but I'm not sure what to change it to.

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
    var result = (int)value == 1;
    return Invert ? !result : result;
}
1

There are 1 best solutions below

0
On BEST ANSWER

add a small Delay to Binding (Value="{Binding dnsLabelCount, Delay=250}"), and the source property will not be updated immediately