【问题标题】:IErrorDataInfo apply tooltip style to all DataGridTextColumnsIErrorDataInfo 将工具提示样式应用于所有 DataGridTextColumns
【发布时间】:2018-02-03 02:14:10
【问题描述】:

我在一个 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>

虽然这可行并将工具提示样式应用于列,但我必须将其粘贴到所有列中

我希望它发生...我已经尝试创建一种样式,但没有成功。我认为这与绑定和“相对来源”有关。

是否可以以此创建样式并将其应用于每一列,我该怎么做?!

【问题讨论】:

    标签: wpf validation wpf-style datagridtextcolumn


    【解决方案1】:

    我只是想出了如何让它工作!

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-09
      • 2019-01-03
      • 2010-11-24
      • 1970-01-01
      • 2011-11-17
      相关资源
      最近更新 更多