码迷,mamicode.com
首页 > Windows程序 > 详细

[WPF]TextTrimming截断后,ToolTip显示完整信息

时间:2016-12-26 12:18:13      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:dex   pat   resource   stack   span   tac   技术   oba   return   

文本过长被截断后,用ToolTip显示完整信息。

文本未被截断,则不显示ToolTip。

技术分享  

值转换器:

public class TrimmedTextBlockVisibilityConverter : IValueConverter
{

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        if (value == null) return Visibility.Collapsed;

        FrameworkElement textBlock = (FrameworkElement)value;

        textBlock.Measure(new System.Windows.Size(Double.PositiveInfinity, Double.PositiveInfinity));

        if (((FrameworkElement)value).ActualWidth < ((FrameworkElement)value).DesiredSize.Width)
            return Visibility.Visible;
        else
            return Visibility.Collapsed;
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

XAML:

<TextBlock TextTrimming="CharacterEllipsis" Text="{Binding SomeTextProperty}">
    <TextBlock.ToolTip>
        <ToolTip Visibility="{Binding RelativeSource={RelativeSource Self}, Path=PlacementTarget, Converter={StaticResource trimmedVisibilityConverter}}">
            <ToolTip.Content>
                <TextBlock Text="{Binding SomeTextProperty}"/>
            </ToolTip.Content>
        </ToolTip>
    </TextBlock.ToolTip>
</TextBlock>

 

参考:http://stackoverflow.com/questions/6342146/show-tooltip-when-text-is-being-trimmed

[WPF]TextTrimming截断后,ToolTip显示完整信息

标签:dex   pat   resource   stack   span   tac   技术   oba   return   

原文地址:http://www.cnblogs.com/youliao/p/6221625.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!