基于WPF中多个控件的值启用/禁用控件

基于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(); 
    } 
} 
+0

谢谢,这工作的选中状态。我只需在Windows.Resources中添加一行来声明StaticResource MultiConverter。 – aliensurfer 2011-01-05 12:17:16