IErrorDataInfo将工具提示样式应用于所有DataGridTextColumns

时间:2018-02-03 02:14:10

标签: wpf validation wpf-style datagridtextcolumn

我正在使用WPF C#项目,我在显示工具提示以进行验证方面遇到了很多问题,我在StackOverflow的另一篇文章中遇到了这个解决方案。

<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 个答案:

答案 0 :(得分:0)

我刚想出如何让它发挥作用!

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

需要将值绑定更改为静态。 希望这有助于某人!