Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF-数据网格列';基于列的工具提示可见性';s数据长度_Wpf_Datagrid_Tooltip - Fatal编程技术网

WPF-数据网格列';基于列的工具提示可见性';s数据长度

WPF-数据网格列';基于列的工具提示可见性';s数据长度,wpf,datagrid,tooltip,Wpf,Datagrid,Tooltip,在我的应用程序中,我尝试使用转换器实现基于dataGrid列文本长度的工具提示可见性。我在显示工具提示文本时遇到一些问题 在工具提示中,TextBlock的文本绑定不起作用。如果它绑定了一些硬编码字符串,那么它就可以正常工作 下面是我为网格列添加的代码 <Custom:DataGridTemplateColumn.CellTemplate> <DataTemplate>

在我的应用程序中,我尝试使用转换器实现基于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>

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

如果丢失了工具提示DataContext,则应该能够绑定到文本属性

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

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

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

如果丢失了工具提示DataContext,则应该能够绑定到文本属性

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

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

您成功地使它工作了吗?您成功地使它工作了吗?很好,很乐意帮忙。你能帮我接受答案吗?谢谢:-)很好,很乐意帮忙。你能帮我接受答案吗?谢谢:-)