Как отобразить ошибку IDataErrorInfo во всплывающей подсказке на DataGridTextColumn?
С текстовым полем это работает хорошо, когда я помещаю следующий xml в App.xml:
<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?
1 ответ
Решение
Просто использовать 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>