2011-11-08 57 views
8

利用文本框,它工作得很好,當我把在app.xml中下面的XML:如何在DataGridTextColumn的工具提示中顯示IDataErrorInfo的錯誤?

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

但它僅適用於文本框,如何做DataGridTextColumn類似的事情?

回答

13

只需使用DataGridTextColumn.ElementStyle和/或DataGridTextColumn.EditingElementStyle,例如:

<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

是的,它的作品!使用DataGridTextColumn.EditingElementStyle而不是DataGridTextColumn.ElementStyle。謝謝:) – JatSing

+0

p/s:如果你想使用DataGridTextColumn.ElementStyle,只需將