1

这是我从具有注释的 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 标题上,就让工具提示无限期地停留。

4

1 回答 1

1

您需要在 TextColumn 上设置 ToolTipService.StaysOpen,如下所述:强制 WPF 工具提示留在屏幕上

于 2010-11-10T08:38:03.927 回答