我在有限大小的控件中有一个 TextBlock。如果文本太长而无法放入控件,我想显示一个带有全文的工具提示。这是您肯定从许多应用程序中知道的经典行为。
我尝试使用转换器将 TextBlock 宽度转换为工具提示的可见性。
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Text}">
<TextBlock.ToolTip>
<ToolTip
DataContext="{TemplateBinding Content}"
Visibility="{Binding Converter={StaticResource visConvert}}">
<TextBlock Text="{Binding Text}"></TextBlock>
</ToolTip>
</TextBlock.ToolTip>
</TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
问题是在转换器中:
public object Convert(object value, ...
'value' 是 DataBound 项。我希望“值”是 TextBlock,观察它的宽度,并将其与 GridViewColumn.Width 进行比较。