如何将工具提示添加到 DataGridTextColumn

Posted

技术标签:

【中文标题】如何将工具提示添加到 DataGridTextColumn【英文标题】:How do I Add a Tooltip To a DataGridTextColumn 【发布时间】:2010-11-12 22:51:17 【问题描述】:

我正在使用 WPFtoolkit DataGrid ,我必须将文本包装在 DataGridTextColumn 或 我必须在文本列中添加ToolTip。我已经搜索了网络,但我无法找到合适的解决方案。期待您的宝贵建议...

【问题讨论】:

【参考方案1】:

我不确定您是否可以将工具提示添加到 DataGridTextColumn,但您可以轻松地改用 DataGridTemplateColumnToolTipService。例如

<data:DataGrid.Columns>
    <data:DataGridTemplateColumn Header="Broker">
        <data:DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <TextBlock Text="Binding Moniker.Abbreviation"
                           ToolTipService.ToolTip="Binding Moniker.Name" />
            </DataTemplate>
        </data:DataGridTemplateColumn.CellTemplate>
    </data:DataGridTemplateColumn>
</data:DataGrid.Columns>

在此示例中,Moniker.Abbreviation 显示在列中。当用户将鼠标悬停在单元格上时,完整的代理名称 (Moniker.Name) 会显示在工具提示中。

注意:此示例取自 Silverlight 3.0 应用程序。

【讨论】:

这也适用于 Silverlight,从谷歌搜索的前 3 名中获得。当然,如果您的代码与最新的 SL xaml 模板匹配,请将 xml ns 更改为 'sdk:' 而不是 'data:'。 虽然我不使用 Silverlight,但这是唯一对我有用的答案。最受欢迎的答案导致我的应用程序出现异常。【参考方案2】:

是的,您可以将工具提示文本添加到 DataGridTextColumn - 只需对其进行样式化

<DataGridTextColumn Header="ScreenName" Binding="Binding ScreenName" >
    <DataGridTextColumn.CellStyle>
        <Style TargetType="DataGridCell">
            <Setter Property="ToolTip" Value="Binding Name" />
        </Style>
    </DataGridTextColumn.CellStyle>
</DataGridTextColumn>

【讨论】:

对于 Silverlight 上的任何人,请参阅 @MarkGladdling's answer 仅供参考,我为此苦苦挣扎了一段时间,直到我意识到如果数据网格工具提示上的“IsHitTestVisible”设置为 FALSE 将不起作用。 在使用这种方法时,您能否以某种方式添加图像和/或编辑工具提示的背景?

以上是关于如何将工具提示添加到 DataGridTextColumn的主要内容,如果未能解决你的问题,请参考以下文章

如何将自定义 css 工具提示添加到 extjs 列标题?

如何使用 jquery 将工具提示添加到“td”?

如何将工具提示添加到 jtable 中的单元格?

如何在鼠标移动时将工具提示添加到 QSlider [关闭]

如何将图像工具提示添加到 JavaFX 中的 ComboBox 项?

你如何添加到工具提示,HighCharts 中的一个系列?