BoolExpressionConverter ru - Leksiqq/WpfMarkupExtension GitHub Wiki
неполная реализация интерфейса IMultiValueConverter
, в котором реализован метод object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
, которому передаётся массив bool
значений values
и строка, описывающая Булево выражение над ними, в качестве parameter
. Возвращает результат вычисления выражения.
object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
- вычисляет выражение, переданное в строке parameter
, в котором операндами являются элементы массива values
. В строке выражения используются операции !
, &
и |
. В качестве операндов используются литералы вида @n
, где n
- позиция соответствующего элемента массива values
, начиная с нуля. Выражение должно быть правильной скобочной последовательностью.
<Style x:Key="ButtonVisibleIfCanEdit" TargetType="ButtonBase">
<Style.Triggers>
<l:DataSwitch>
<l:DataSwitch.Binding>
<MultiBinding Converter="{StaticResource BoolExpressionConverter}"
ConverterParameter="@0 | @1">
<Binding Path="Value" Converter="{StaticResource IsNullConverter}"/>
<Binding Path="IsReadonly"/>
</MultiBinding>
</l:DataSwitch.Binding>
<DataTrigger Value="True">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
<DataTrigger Value="False">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</l:DataSwitch>
</Style.Triggers>
</Style>
Раньше: (DataSwitch) Начало:(Обзор) Дальше:(ConverterProxy)