Это поведение, которое я получаю из ячейки 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.