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

基于WPF中多个控件的值启用/禁用控件,wpf,mvvm,Wpf,Mvvm,我可以使用复选框和单选按钮控制文本框的启用/禁用吗 我的UI是这样的:复选框控制单个文本框的状态,而单选按钮控制文本框和复选框的启用/禁用状态。您可以使用多重绑定在UI中执行此操作。这看起来像这样: <TextBlock> <TextBlock.IsEnabled> <MultiBinding Converter="{StaticResource MultiConverter}"> <Binding ElementName="My

我可以使用复选框和单选按钮控制文本框的启用/禁用吗


我的UI是这样的:复选框控制单个文本框的状态,而单选按钮控制文本框和复选框的启用/禁用状态。

您可以使用多重绑定在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"/>

谢谢,行得通。我只需要在Windows.Resources中额外添加一行来声明StaticResource多转换器。
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();
  }
}