2011-11-08 15 views
8

Con cuadro de texto, funciona bien cuando pongo el siguiente código XML en app.xml:¿Cómo se muestra el error de IDataErrorInfo en información sobre herramientas en 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> 

pero sólo funciona para el cuadro de texto, la forma de hacer una cosa similar con DataGridTextColumn?

Respuesta

13

Sólo tiene que utilizar DataGridTextColumn.ElementStyle y/o DataGridTextColumn.EditingElementStyle, por ejemplo:

<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

Sí, funciona! Use DataGridTextColumn.EditingElementStyle en lugar de DataGridTextColumn.ElementStyle. Gracias :) – JatSing

+0

p/s: Si quieres usar DataGridTextColumn.ElementStyle, simplemente cambia