基于WPF中多个控件的值启用/禁用控件
问题描述:
我可以使用复选框和单选按钮来控制启用/禁用我的文本框吗?基于WPF中多个控件的值启用/禁用控件
我的用户界面是这样的,复选框控制单个文本框的状态,而单选按钮控制文本框和复选框的启用/禁用状态。
答
您可以使用多重绑定在UI中执行此操作。这应该是这样的:
<TextBlock>
<TextBlock.IsEnabled>
<MultiBinding Converter="{StaticResource MultiConverter}">
<Binding ElementName="MyCheckBox" Path="IsChecked" />
<Binding ElementName="MyRadioButton" Path="IsChecked" />
</MultiBinding>
</TextBlock.IsEnabled>
</TextBlock>
<CheckBox x:Name="MyCheckBox"/>
<RadioButton x:Name="MyRadioButton"/>
当转换器查找在无线电和checkbox
public class MultiConverter: IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
bool isCheckBoxChecked = (bool)value[0];
bool isRadioButtonChecked = (bool)value[1];
return isCheckBoxChecked && isRadioButtonChecked;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter,
System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
谢谢,这工作的选中状态。我只需在Windows.Resources中添加一行来声明StaticResource MultiConverter。 – aliensurfer 2011-01-05 12:17:16