У меня есть 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.