2011-11-08 1 views
8

Con testo, funziona bene quando ho messo il seguente codice XML in app.xml:Come visualizzare l'errore di IDataErrorInfo in tooltip su 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> 

ma funziona solo per la casella di testo, come fare una cosa simile con DataGridTextColumn?

risposta

13

Basta usare DataGridTextColumn.ElementStyle e/o DataGridTextColumn.EditingElementStyle, ad esempio:

<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ì, funziona! Utilizzare DataGridTextColumn.EditingElementStyle anziché DataGridTextColumn.ElementStyle. Grazie :) – JatSing

+0

p/s: se vuoi usare DataGridTextColumn.ElementStyle cambia solo