#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>
Надеюсь, это поможет!