[Multi] DataTrigger "ИЛИ" оператор? - PullRequest
12 голосов
/ 25 октября 2011

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

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>  

Заранее спасибо!Spoelle

Ответы [ 2 ]

6 голосов
/ 25 октября 2011

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

Попробуйте Value="{x:Null}" в DataTrigger, когда свойство Weblink вернется с нулем.

4 голосов
/ 25 октября 2011

Я бы предложил использовать расширение разметки 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>

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

...