如何将工具提示添加到 DataGridTextColumn
Posted
技术标签:
【中文标题】如何将工具提示添加到 DataGridTextColumn【英文标题】:How do I Add a Tooltip To a DataGridTextColumn 【发布时间】:2010-11-12 22:51:17 【问题描述】:我正在使用 WPFtoolkit DataGrid
,我必须将文本包装在 DataGridTextColumn
或
我必须在文本列中添加ToolTip
。我已经搜索了网络,但我无法找到合适的解决方案。期待您的宝贵建议...
【问题讨论】:
【参考方案1】:我不确定您是否可以将工具提示添加到 DataGridTextColumn
,但您可以轻松地改用 DataGridTemplateColumn
和 ToolTipService
。例如
<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的主要内容,如果未能解决你的问题,请参考以下文章