WPF Datagrid标题工具提示显示与列标题文本相同的文本

时间:2017-03-09 22:10:28

标签: wpf datagrid

我在一个Mine控件中有一个Datagrid,在一个Resource Dictionary文件中设置了一个Style。为了查看工具提示,我在Style:

中使用Setter
<Style TargetType="{x:Type DataGridColumnHeader}">
    <Setter Property="SnapsToDevicePixels" Value="True" />
    <Setter Property="ToolTipService.ToolTip" Value="{Binding}"/>

在Control with DataGrid中,我使用了这个Style,我试图在每个Column Header中为ToolTip设置一个特定的文本,但它不起作用。工具提示始终显示与标题中的文本相同的文本:

<DataGridTextColumn x:Name="iEnumberColumn" Binding="{Binding IEnumber}"  Width="100" Header="Column A" ToolTipService.ToolTip="Column A Tooltip"  />

我尝试过RelativeSource Self,Dynamic和Static资源,但两者都不起作用。此外,如果我没有样式中的Setter,则ToolTip根本不显示。如果我在我的控件中使用了其他Style,它可以正常工作,但我正在丢失字典中的原始样式集。

为了在定义每个DataGrid列时添加特定文本,您能否建议如何设置样式中的工具提示?

1 个答案:

答案 0 :(得分:3)

可能这不是唯一的方法,但我找到了一个简单的解决方案。我替换了下面的代码:

<DataGridTextColumn x:Name="iEnumberColumn" Binding="{Binding IEnumber}"  Width="100" >
    <DataGridTextColumn.Header>
        <TextBlock Text="ColumnA" ToolTip="Column A Tooltip"/>
    </DataGridTextColumn.Header>
</DataGridTextColumn>

这一个:

tanh

我从资源字典文件中删除了工具提示的Setter。