这是我从具有注释的 Excel 单元格中得到的行为:
1) 将鼠标放在单元格上的任意位置,评论会像黄色工具提示一样弹出;
2)只要鼠标光标停留在单元格上,评论就会无限期保持
我只需要 DataGridColumnHeader 上的类似功能。
我开始如下:
<DataGridTextColumn Binding="{Binding Path=SomeProperty}">
<DataGridTextColumn.Header>
<TextBlock Text="MyColHeader" Background="red" >
<TextBlock.ToolTip>
<StackPanel Width="400">
within stack panel make format as fancy as i like, works great;
</StackPanel>
</TextBlock.ToolTip>
</TextBlock>
</DataGridTextColumn.Header>
</DataGridTextColumn>
问题是只有当鼠标悬停在列标题的文本上时才会弹出工具提示,即在我的示例中是文本“MyColHeader”而不是单元格上的任何位置。
又过了一个小时,我想出了解决点 1) 的问题:
<DataGridTextColumn
Header="MyColHeader"
Binding="{Binding Path=SomeProperty}">
<DataGridTextColumn.HeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="ToolTip">
<Setter.Value>
<StackPanel Width="400">
make formatting as fancy as i like, works great;
</StackPanel>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.HeaderStyle>
</DataGridTextColumn>
现在好多了,剩下的问题是我需要解决第 2 点),即只要光标在 col 标题上,就让工具提示无限期地停留。