2009-12-11 19 views
5

Olası Çoğalt:
XAML Conditional CompilationWPF'de koşullu ifadeler nasıl yazılır?

WPF için yeni duyuyorum. Sadece xaml'de küçük bir kod parçası yazmam gerekiyor, bunun için WPF'de eşdeğer bir durum olup olmadığını bilmem gerek. Buradaki herkes yardım edebilir mi?

+0

Koşulları yazmak istiyorsanız, arkadaki kodu kullanmalısınız. Tam olarak burada ne yapmaya çalışıyorsun? – Rohith

cevap

16

"If (x == 1) gibi bir şeyden sonra mısınız, bu denetimin arka planını mavi yap"? Eğer peşindeyseniz, veri tetikleyicileri kullanabilirsiniz. Burada, bazı verilere dayanarak bir kontrolün arka plan rengini değiştiren bir örnek verilmiştir. Bu örnekte, onu bir stilin parçası haline getirdim ve daha sonra bazı kontrollerde kullandım.

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

'Red', 'Mavi', ya da 'Beyaz' için 'Boyama' değişiklikler değerleri, bu DockPanel arkaplan özelliğini buna göre güncellenir Eğer

.

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