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

文本过长被截断后,用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

时间: 2024-08-27 11:18:48

[WPF]TextTrimming截断后,ToolTip显示完整信息的相关文章

C# DataGridView在单元格提示里(ToolTip)显示完整的单元格内容

当单元格内容太多时,则会忽略后面的内容 解决方案: 添加Dgv鼠标移到单元格事件时,设置当前单元格的ToolTipText属性内容为当前单元格内容 void From_Load(object sender, EventArgs e) { this.dgvSystemLog.ShowCellToolTips = true; this.dgvSystemLog.CellMouseEnter += new DataGridViewCellEventHandler(dgvSystemLog_CellMo

用WPF实现在ListView中的鼠标悬停Tooltip显示

原文:用WPF实现在ListView中的鼠标悬停Tooltip显示 一.具体需求描述 在WPF下实现,当鼠标悬停在ListView中的某一元素的时候能弹出一个ToolTip以显示需要的信息. 二.代码实现 在.XMAL文件中 Code<Window.Resources> <DataTemplate x:Key="dataTemplateCheckBox"> <StackPanel Orientation="Horizontal">

asp显示完整的错误信息

调试asp显示完整的错误信息: 客户端浏览器设置:取消"显示友好的HTTP错误信息" IIS7设置(GUI): 1. <网站>-ASP-调试属性-将错误发送到浏览器,修改为True 2. <网站>-错误页-操作-编辑功能设置,选择"详细错误信息" 默认情况下,这里选择的是第三项"本地请求的详细错误和远程请求的自定义错误页",所以出现的情况会是:在本地调试可以看到错误的详细信息,但是通过远程来访问的时候就看不到了. 另外,网

使用tooltip显示jquery.validate.unobtrusive验证信息

通过重写CSS实现使用tooltip显示jquery.validate.unobtrusive验证信息,效果如图: 1. 在ViewModel中定义验证规则 [Display(Name = "纬度")] [Required(ErrorMessage = "{0}不能为空")] [RegularExpression(@"^\-?\d+(\.\d+)?$", ErrorMessage = "{0}格式不正确,请输入数值")] [R

wpf textblock超出显示范围后显示tooltip

原文:wpf textblock超出显示范围后显示tooltip public static class TextTrmmingShowToolTip { public static readonly DependencyProperty IsToolTipProperty = DependencyProperty.RegisterAttached( "IsToolTip", typeof(bool), typeof(TextTrmmingShowToolTip), new Prope

mysql 显示完整的processlist中info信息

由于数据库的使用导致cpu飙升,想要查询数据库的具体什么语句导致了cpu飙升需要查看运行中的sql语句此次我使用了进行查询:也可使用mysqladmin processlist进行查询(但本次没有用) show processlist 如果有SUPER权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户运行的线程). mysql> show processlist; +-------+-----------+---------------------+---

【原创】用JAVA实现大文件上传及显示进度信息

用JAVA实现大文件上传及显示进度信息 ---解析HTTP MultiPart协议 一. 大文件上传基础描述: 各种WEB框架中,对于浏览器上传文件的请求,都有自己的处理对象负责对Http MultiPart协议内容进行解析,并供开发人员调用请求的表单内容. 比如: Spring 框架中使用类似CommonsMultipartFile对象处理表二进制文件信息. 而.NET 中使用HtmlInputFile/ HttpPostedFile对象处理二进制文件信息. 优点:使用框架内置对象可以很方便的

Qt通过QToolTip显示浮动信息

QToolTip类的应用十分简单,其QToolTip类中全都是静态方法,如果要显示浮动信息的话使用该函数即可: void QToolTip::showText ( const QPoint & pos, const QString & text, QWidget * w = 0 );    [static] 参看Qt例子,$(QTDIR)\examples\widgets\tooltips可以轻松写出显示浮动信息程序.通过在虚函数 bool event(QEvent *event) 中,验

c#如何实现从xml中加载树目录,并且显示完整的Text

谈到xml,相信有一定编程基础的童鞋们都比较清楚了.xml文件格式类似于嵌套的样式,这种独特的层次结构很容易使我们联想到目录树,因此这不禁让我们对两者之间产生一种牵线的想法.这不禁,使我们有这么一个问题:如何将xml存储的数据转换成目录树形式?? 首先我先贴一段xml代码: <nativeplace> <China text="中国" value="中国"> <ShanDong text="山东" value=&qu