2009-06-19 23 views
5

ViewModel özelliği = "geçersiz" içeriyorsa, TextBox'umun kırmızı arka plan olmasını istiyorum. Ne değişmeli ki bu işe yarıyor?Bu DataTrigger'ı nasıl çalıştırabilirim?

Bu sürümde, Arka Planında, numaralı bir özellik tipi yok.

<TextBox 
    Width="200" 
    Text="{Binding FieldEmail, UpdateSourceTrigger=PropertyChanged}"> 
    <TextBox.Triggers> 
     <DataTrigger Binding="{Binding FieldEmailValidationStatus}" Value="invalid"> 
      <Setter Property="TextBox.Background" Value="Tomato"/> 
     </DataTrigger> 
    </TextBox.Triggers> 
</TextBox> 

"TextBox" eklediğimde. Ben, bir tarzda hepsini sarmak için unutmuştu o zaman güzel çalışır

<TextBox 
    Width="200" 
    Text="{Binding FieldEmail, UpdateSourceTrigger=PropertyChanged}"> 
    <TextBox.Triggers> 
     <DataTrigger Binding="{Binding FieldEmailValidationStatus}" Value="invalid"> 
      <Setter Property="Background" Value="Tomato"/> 
     </DataTrigger> 
    </TextBox.Triggers> 
</TextBox> 

cevap

10

bana bu bir cevap ver: ben bir EventTrigger olması söylüyor

<TextBox 
    Width="200" 
    Text="{Binding FieldEmail, UpdateSourceTrigger=PropertyChanged}"> 
    <TextBox.Style> 
     <Style> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding FieldEmailValidationStatus}" Value="invalid"> 
        <Setter Property="TextBox.Background" Value="Tomato"/> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </TextBox.Style> 
</TextBox> 

veya Bu:

<Style x:Key="FieldEmailStyle" TargetType="TextBox"> 
    <Style.Triggers> 
     <DataTrigger Binding="{Binding FieldEmailValidationStatus}" Value="invalid"> 
      <Setter Property="TextBox.Background" Value="Yellow"/> 
     </DataTrigger> 
     <DataTrigger Binding="{Binding FieldEmailValidationStatus}" Value="valid"> 
      <Setter Property="TextBox.Background" Value="LightGreen"/> 
     </DataTrigger> 
    </Style.Triggers> 
</Style> 

    <TextBox 
     Width="200" 
     Style="{StaticResource FieldEmailStyle}" 
     Text="{Binding FieldEmail, UpdateSourceTrigger=PropertyChanged}"> 
    </TextBox> 
İlgili konular