[Multi] DataTrigger «ИЛИ» оператор?

#wpf #datatrigger

#wpf #манипулятор данных

Вопрос:

Я хочу, чтобы для моего свойства видимости изображения было установлено значение Скрыто, когда мое поле связанной таблицы

 Weblink = NULL **OR** Weblink = ""
 

С помощью MultiDataTrigger вы можете протестировать несколько условий в следующей логике:

 "IF FieldA = 1 **AND** FieldB = 2 THEN"
 

Но что мне нужно, так это

 "IF FieldA = 1 **OR** FieldA = 2 THEN"
 

Вот часть моего xaml, которая работает только тогда, когда Weblink = «»; когда Weblink = NULL, мое изображение остается видимым

 <Image.Style>
    <Style TargetType="{x:Type Image}">
        <Style.Triggers>
            <DataTrigger Binding="{Binding Weblink}" Value="Null">
                <Setter  Property="Visibility" Value="Hidden" />
            </DataTrigger>
            <DataTrigger Binding="{Binding Weblink}" Value="">
                <Setter  Property="Visibility" Value="Hidden" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</Image.Style>  
 

Заранее спасибо !
Споэль

Ответ №1:

То, что вы написали, равно Weblink == "Null" , но вам нужно Weblink == null .

Попробуйте Value="{x:Null}" использовать DataTrigger, когда свойство Weblink возвращает значение null.

Ответ №2:

Я бы предложил использовать расширение x:Null разметки и для большей ясности явно указать пустую строку, используя расширение x:Static разметки:

 <DataTrigger Binding="{Binding Weblink}" Value="{x:Null}">
    <Setter  Property="Visibility" Value="Hidden" />
</DataTrigger>
<DataTrigger Binding="{Binding Weblink}" Value="{x:Static System:String.Empty}" >
    <Setter  Property="Visibility" Value="Hidden" />
</DataTrigger>
 

Надеюсь, это поможет!