【发布时间】:2017-07-31 02:13:41
【问题描述】:
我在我的一个控件中有一个 Datagrid,在一个资源字典文件中设置了一个样式。为了看到 ToolTip,我在 Style 中使用了 Setter:
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="ToolTipService.ToolTip" Value="{Binding}"/>
在我使用此样式的 DataGrid 控件中,我尝试为每个列标题中的工具提示设置特定文本,但它不起作用。 ToolTip 始终显示与 Header 中的文本相同的文本:
<DataGridTextColumn x:Name="iEnumberColumn" Binding="{Binding IEnumber}" Width="100" Header="Column A" ToolTipService.ToolTip="Column A Tooltip" />
我尝试过RelativeSource Self、Dynamic 和Static 资源,但都没有。此外,如果我在样式中没有 Setter,则根本不会出现 ToolTip。如果我在控件中使用其他样式,它可以工作,但我会丢失字典中设置的原始样式。
您能否建议如何在样式中设置工具提示,以便在我定义每个 DataGrid 列时添加特定文本?
【问题讨论】:
-
是的,我在此链接上找到了解决方案。很简单,只需将 Header 更改为 TextBlock 并为 TextBlock 设置 ToolTip。我不需要在资源字典文件中做任何事情。谢谢!