2011-10-25 14 views
12

Voglio che la mia proprietà Visibility immagine impostata su Hidden quando il mio limite campo della tabellaIstruzione [Multi] DataTrigger "OR"?

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

Con MultiDataTrigger è possibile testare diverse condizioni nel seguente logica:

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

Ma quello che mi serve è

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

Ecco parte del mio xaml che funziona solo quando Weblink = ""; quando Weblink = NULL la mia immagine rimane visibile

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

Grazie in anticipo! Spoelle

risposta

6

Quello che hai scritto è uguale a Weblink == "Null" ma è necessario Weblink == null.

Provare Value="{x:Null}" nel DataTrigger quando la proprietà Weblink restituisce null.

+0

Grazie, funziona bene! Sono nuovo di xaml; non sapevo {x: Null} – Spoelle

3

Io suggerirei di usare l'estensione x:Null markup, e per amor di chiarezza specificare esplicitamente la stringa vuota utilizzando l'estensione di markup 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> 

Spero che questo aiuti!