2009-12-11 14 views
5

Eventuali duplicati:
XAML Conditional CompilationCome scrivere istruzioni condizionali in WPF?

Sono nuovo di WPF. Ho solo bisogno di scrivere una piccola porzione di codice in xaml, per il quale ho bisogno di sapere se la condizione è equivalente in WPF. Qualcuno qui può aiutarti?

+0

Si dovrebbe utilizzare il codice dietro se si desidera scrivere condizionali. Cosa stai cercando di fare esattamente qui? – Rohith

risposta

16

Sei alla ricerca di qualcosa come "Se (x == 1), rendere lo sfondo di questo controllo blu"? Se questo è ciò che stai cercando, potresti utilizzare i trigger di dati. Ecco un esempio che modifica il colore di sfondo di un controllo in base a determinati dati. In questo esempio, l'ho reso parte di uno stile e l'ho usato in seguito in alcuni controlli.

<UserControl.Resources> 
    <Style x:Key="ColoringStyle" TargetType="{x:Type DockPanel}"> 
     <Style.Triggers> 
      <DataTrigger Binding="{Binding Path=Coloring}" Value="Red"> 
       <Setter Property="Background" Value="#33FF0000"></Setter> 
      </DataTrigger> 
      <DataTrigger Binding="{Binding Path=Coloring}" Value="Blue"> 
       <Setter Property="Background" Value="#330000FF"></Setter> 
      </DataTrigger> 
      <DataTrigger Binding="{Binding Path=Coloring}" Value="White"> 
       <Setter Property="Background" Value="#33FFFFFF"></Setter> 
      </DataTrigger> 
     </Style.Triggers> 
    </Style> 
</UserControl.Resources> 

Se 'colorare' valori modifiche a 'Red', 'Blue', o 'bianco', sarà aggiornare la proprietà del DockPanel sfondo di conseguenza.

<DockPanel Style="{StaticResource ColoringStyle}"> 
    ... 
</DockPanel> 
Problemi correlati