2011-11-08 13 views
8

Z pola tekstowego, to działa dobrze, kiedy mogę umieścić następującą XML w app.xml:Jak wyświetlić błąd IDataErrorInfo w etykiecie narzędzia w DataGridTextColumn?

<Style TargetType="{x:Type TextBox}" x:Key="TextBoxValidationStyle"> 
     <Style.Triggers> 
      <Trigger Property="Validation.HasError" Value="true"> 
       <Setter Property="ToolTip" 
      Value="{Binding RelativeSource={RelativeSource Self}, 
        Path=(Validation.Errors)[0].ErrorContent}"/> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 

Ale to działa tylko dla pola tekstowego, jak zrobić coś podobnego z DataGridTextColumn?

Odpowiedz

13

Wystarczy użyć DataGridTextColumn.ElementStyle i/lub DataGridTextColumn.EditingElementStyle, na przykład:

<DataGridTextColumn MinWidth="80" ...> 
    <DataGridTextColumn.ElementStyle> 
    <Style TargetType="{x:Type TextBlock}"> 
      <Style.Triggers> 
       <Trigger Property="Validation.HasError" Value="true"> 
        <Setter Property="ToolTip" 
       Value="{Binding RelativeSource={RelativeSource Self}, 
         Path=(Validation.Errors)[0].ErrorContent}"/> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 
    </DataGridTextColumn.ElementStyle> 
</DataGridTextColumn> 
+1

Tak, to działa! Użyj DataGridTextColumn.EditingElementStyle zamiast DataGridTextColumn.ElementStyle. Dzięki :) – JatSing

+0

p/s: Jeśli chcesz użyć DataGridTextColumn.ElementStyle po prostu zmień na JatSing

+0

Naprawiono moją odpowiedź :) – surfen

Powiązane problemy