WPF DataGridTextColumn工具提示
有没有办法将工具提示添加到DataGridColumn标题并仍保留排序功能。下面的代码不工作(它不显示工具提示)WPF DataGridTextColumn工具提示
<toolkit:DataGridTextColumn Header="Test" Width="70" Binding="{Binding TestText}" ToolTipService.ToolTip="{Binding TestText}">
当我使用下面
<toolkit:DataGridTemplateColumn Header="Test" Width="70">
<toolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding TestText}" ToolTip="{Binding TestText}" />
</DataTemplate>
</toolkit:DataGridTemplateColumn.CellTemplate>
</toolkit:DataGridTemplateColumn>
代码列失去排序functionality..Help!
当电网创建自动柱,它知道哪些场正被显示在该列中。当您自己创建列时,数据网格不知道您将在该列中显示哪些数据,因此无法猜测按列排序哪个字段。 为了让你自己定义排序的列时,SortMemberPath
属性添加到您的DataGridTemplateColumn
这样的:
<DataGridTemplateColumn Header="Test" Width="70" SortMemberPath="TestText">
...
</DataGridTemplateColumn>
您正在向列模板添加工具提示,而不是添加到标题。
您是否尝试过将DataGridColumn的HeaderStyle属性设置为包含HeaderCell工具提示模板的样式?
我更新了我的题。我希望工具提示显示列中标题下的所有记录。不知何故上述代码不起作用.. – developer 2011-01-28 22:42:36
@developer:你看我的答案中的例子吗?我仍然不明白你想要的效果是什么。从您的问题:“添加工具提示到DataGridColumn标题” – 2011-01-29 07:24:18
为了让ToolTip
在DataGridColumnHeader
显示你需要的ToolTip
属性绑定为它的ToolTip
其DataGridColumn
这样
<toolkit:DataGridTextColumn Header="Test"
Width="70"
Binding="{Binding TestText}"
ToolTipService.ToolTip="My Tooltip Text">
<toolkit:DataGridTextColumn.HeaderStyle>
<Style TargetType="toolkit:DataGridColumnHeader">
<Setter Property="ToolTip"
Value="{Binding RelativeSource={RelativeSource Self},
Path=Column.(ToolTipService.ToolTip)}"/>
</Style>
</toolkit:DataGridTextColumn.HeaderStyle>
</toolkit:DataGridTextColumn>
以前的答案大多是正确的,但是我觉得他们过于复杂,或者只解决一职的两个问题之一。首先,您总是可以设置SortPath
属性来维护对DataGridTemplateColumn
的排序,或者可能在您想对除显示内容之外的某个属性进行排序时,您可以始终设置SortPath
属性。
其次,您不需要DataGridTemplateColumn
以在列标题上有一个工具提示,就像操作提及的那样。如果您想向实际单元格添加工具提示,则可以使用模板列(但这可能也不需要)。在任何情况下,添加一个工具提示栏标题是最容易被HeaderStyle完成
<DataGridTextColumn Header="Test" Binding="{Binding TestText}">
<DataGridTextColumn.HeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="ToolTip" Value="Test ToolTip" />
</Style>
</DataGridTextColumn.HeaderStyle>
</DataGridTextColumn>
你要当鼠标悬停在列标题或工具提示出现时,它悬停在数据项在体内的网格? – 2011-01-28 23:42:44
可能的重复[如何添加一个工具提示到DataGridTextColumn](http://stackoverflow.com/questions/1164288/how-do-i-add-a-tooltip-to-a-datagridtextcolumn) – Jay 2015-12-16 01:37:05