在 WPF 上没有前缀的单选按钮绑定到特定值
Radio buttons binding on specific value without prefix on WPF
我有一个 window,它有两个单选按钮,第二个有一个 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;
}
给绑定添加一个小延迟(Value="{Binding dnsLabelCount, Delay=250}"
),源属性不会立即更新
我有一个 window,它有两个单选按钮,第二个有一个 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;
}
给绑定添加一个小延迟(Value="{Binding dnsLabelCount, Delay=250}"
),源属性不会立即更新