无法设置DataGridColumn的ToolTip

Shi*_*mmy 12 wpf datagrid wpftoolkit wpf-controls datagridcolumn

我尝试了以下方法:

<tk:DataGridTextColumn 
    Header="Item" 
    Binding="{Binding Item.Title}" 
    ToolTipService.ToolTip="{Binding Item.Description}" />
Run Code Online (Sandbox Code Playgroud)

我没有看到任何工具提示.

有任何想法吗?甚至实施了吗?

小智 27

这对我有用:

<Style TargetType="{x:Type Custom:DataGridColumnHeader}">
   <Style.Triggers>
      <Trigger Property="IsMouseOver" Value="True">
          <Setter Property="ToolTip" Value="{Binding Column.(ToolTipService.ToolTip), RelativeSource={RelativeSource Self}}"/>
      </Trigger>
   </Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)


ser*_*nko 8

请检查下面的代码是否适合您,它应该显示列标题和单元格的工具提示,单元格的工具提示应该弯曲数据对象的Description字段:

<DataGridTextColumn Width="SizeToCells"   
                    MinWidth="150" 
                    Binding="{Binding Name}">

    <DataGridTextColumn.Header>
        <TextBlock Text="Name" ToolTipService.ToolTip="Header ToolTip" />
    </DataGridTextColumn.Header>

    <DataGridTextColumn.ElementStyle>
        <Style TargetType="{x:Type TextBlock}">
            <Setter Property="ToolTip" Value="{Binding Description}" />
            <Setter Property="TextWrapping" Value="Wrap" />
        </Style>
    </DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
Run Code Online (Sandbox Code Playgroud)

解决方案在这里找到:5个随机陷阱与WPF DataGrid


Ray*_*rns 5

DataGridTextColumn不可见.您必须在标题或内容上设置工具提示.

要在标题上设置工具提示,请将标题更改为TextBlock:

<tk:DataGridTextColumn
  Binding="{Binding Item.Title}">
  <tk:DataGridTextColumn.Header>
    <TextBlock
      Text="Text" 
      ToolTipService.ToolTip="Tooltip for header" />
  </tk:DataGridTextColumn.Header>
</tk:DataGridTextColumn>
Run Code Online (Sandbox Code Playgroud)

要在列内容上设置工具提示,请在样式中设置它:

<tk:DataGridTextColumn
  Binding="{Binding Item.Title}"
  Heading="Text">
  <tk:DataGridTextColumn.ElementStyle>
    <Style>
      <Setter Property="ToolTipService.ToolTip" Value="{Binding Item.Description}" />
    </Style>
  </tk:DataGridTextColumn.ElementStyle>
</tk:DataGridTextColumn>
Run Code Online (Sandbox Code Playgroud)

您可能还想设置EditingElementStyle.