Включение / отключение элемента управления на основе значений более одного элемента управления в WPF - PullRequest
1 голос
/ 05 января 2011

Могу ли я контролировать включение / отключение моего текстового поля с помощью флажка и переключателя, оба?

Мой пользовательский интерфейс таков, что флажок контролирует состояние отдельного текстового поля, а переключатель - состояния включения / выключения как текстового поля, так и флажка.

1 Ответ

3 голосов
/ 05 января 2011

Вы можете выполнить это в пользовательском интерфейсе, используя мультисвязывание. Это будет выглядеть так:

<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"/>

Где конвертер смотрит на проверенное состояние радио и флажок

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();
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...