【问题标题】:Long text and opacity gradient mask长文本和不透明度渐变蒙版
【发布时间】:2013-02-19 16:58:50
【问题描述】:

我有一个 WPF/Silverlight 控件 - 200px 宽度。问题是我想在上面放置一个项目标题,但我不能换行。我以为我可以缩放字体,但发现它毫无意义,因为这些标题可能是 VEERY 长。几分钟后,我决定在控件末端 30 像素处做不透明渐变蒙版之类的操作。

例如当我有一个词QWERTYUIOPASDFGHJKL,并且控件可以显示的最大子字符串是QWERTY,那么TY就有一个不透明渐变蒙版。当我的鼠标指针进入我的写作区域时,工具提示(或其他内容)将显示(全文)。

我有两个问题:

  1. 实现这种不透明渐变蒙版的最佳方法是什么?
  2. 鼠标进入文本区域后如何显示整个文本(我认为ToolTip是一个很差的解决方案)?

【问题讨论】:

  • 为什么不简单地将TextTrimming 设置为CharacterEllipsis?至少这是解决这个问题的“标准”方式。 ToolTip 也是一种标准解决方案。

标签: c# wpf silverlight user-interface user-controls


【解决方案1】:
  1. 嗯,我不知道您是否要重新考虑这种方法。更容易实现并且可能更容易理解的方法是使用省略号。每个用户都知道,当他看到这样的省略号时,这只是标题的一部分。
    TextBlock 具有这样的内置功能。感谢克莱门斯:TextBlock.TextTrimming=CharacterEllipsis

  2. 为什么ToolTip 是一种糟糕的方法?如果您不喜欢它的外观,您可以自定义样式。

【讨论】:

  • 1.不知道CharacterEllipsis 修剪:) 谢谢。 2. 看起来很糟糕。我们的团队希望我们的应用程序是理想的:)
  • 顺便说一句。 Silverlight 的解决方案是什么?没有用于修剪道具的CharacterEllipsis 选项。
  • 根据this,至少TextBlock 有一个文本修剪选项。
  • 关于第2点:这就是我所说的。您需要Tooltip 控件的功能。如果外观不够好(是的,它很丑;o)),您应该自定义样式。我希望您使用的是 MS Blend,它对这项工作有很大帮助。
  • 嗯,好的。这真的很奇怪。 doc 表示,SL5 也支持它。也许您应该检查项目设置。请注意,我在帖子中将TextBox 更改为TextBlock
猜你喜欢
  • 2014-07-21
  • 2014-06-23
  • 2015-09-20
  • 2011-06-02
  • 1970-01-01
  • 2012-01-12
  • 2020-09-01
  • 1970-01-01
  • 2010-11-21
相关资源
最近更新 更多