Tôi có một TextBlock bên trong một điều khiển kích thước giới hạn. Nếu văn bản quá dài để vừa với điều khiển, tôi muốn hiển thị chú giải có văn bản đầy đủ. Đây là một hành vi cổ điển mà bạn chắc chắn biết từ nhiều ứng dụng.Hiển thị chú giải WPF nếu cần
Tôi đã thử sử dụng Trình chuyển đổi để chuyển đổi chiều rộng TextBlock thành Chế độ hiển thị của Tooltip.
<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>
Vấn đề là trong chuyển đổi:
public object Convert(object value, ...
'giá trị' là mục DataBound. Tôi muốn 'giá trị' là TextBlock, để quan sát Chiều rộng của nó và so sánh nó với GridViewColumn.Width.
Điều này có hoạt động với tính năng TextTrimming được bật không? Bởi vì sau đó TextBlock có lẽ sẽ không mất nhiều không gian hơn là có sẵn cho nó. – ygoe