我的 UI (WPF) 中有三个单选按钮。通过选择其中两个,我想启用文本框。并通过选择第三个文本框应该被禁用。我应该使用多重绑定吗?如果是怎么办?
问问题
912 次
1 回答
0
为什么不将IsEnabled
第三个 RadioButton 设置为“未选中”状态?通常一组单选按钮是排他的,因为一次只能检查一个。
<StackPanel>
<StackPanel.Resources>
<convert:InvertBooleanConverter x:Key="InvertConverter" />
</StackPanel.Resources>
<TextBox IsEnabled="{Binding IsChecked, ElementName=radio, Converter={StaticResource InvertConverter}}" />
<RadioButton x:Name="radio" IsChecked="True"/>
</StackPanel>
使用自定义转换器
using System;
using System.Globalization;
using System.Windows;
using System.Windows.Data;
namespace MyApplication.Converters {
public sealed class InvertBooleanConverter : IValueConverter {
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {
return !(bool)value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {
return DependencyProperty.UnsetValue;
}
}
}
于 2012-11-03T09:39:11.637 回答