【问题标题】:WPF - DataGrid Column's ToolTip visibility based on the column's data lengthWPF - DataGrid 列的工具提示可见性基于列的数据长度
【发布时间】:2023-04-06 13:14:02
【问题描述】:

在我的应用程序中,我尝试使用转换器根据 dataGrid 列的文本长度来实现工具提示的可见性。我在显示工具提示文本时遇到了一些问题。

在工具提示中,TextBlock 的文本绑定不起作用。如果它与一些硬编码字符串绑定,它可以正常工作。

下面是我为网格列添加的代码...

<Custom:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Text}">
                                <TextBlock.ToolTip>
                                    <ToolTip 
                                         DataContext="{Binding Path=PlacementTarget, RelativeSource={x:Static RelativeSource.Self}}" 
                                         Visibility="{Binding Converter={StaticResource ToolTipVis}}">
                                         <TextBlock Text="{Binding Text}">  

                                     </ToolTip>
                                </TextBlock.ToolTip>
                            </TextBlock>
                        </DataTemplate>
                    </Custom:DataGridTemplateColumn.CellTemplate>

【问题讨论】:

  • 你成功了吗?

标签: wpf datagrid tooltip


【解决方案1】:

工具提示的 DataContext 设置为 System.Windows.Controls.TextBlock,因为您已将其定义为 RelativeSource.Self。

如果您丢失了 ToolTip DataContext,您应该能够绑定到您的 Text 属性。

您可能需要更改转换器绑定以反映这一点,但我不确定,因为我还没有测试过...

<ToolTip
    Visibility="{Binding Path=PlacementTarget, 
      RelativeSource={x:Static RelativeSource.Self}, 
      Converter={StaticResource ToolTipVis}}">>
    <TextBlock Text="{Binding Path=Text}"/>
</ToolTip>

【讨论】:

  • 酷,乐于助人。你能接受我的答案吗?谢谢:-)
猜你喜欢
  • 2011-03-10
  • 1970-01-01
  • 1970-01-01
  • 2018-07-28
  • 1970-01-01
  • 2011-04-28
  • 2013-07-18
  • 2021-04-01
  • 2011-02-25
相关资源
最近更新 更多