2013-03-05 48 views
1

我有一个WPF/Silverlight控制 - 200px宽度。问题是我想放置一个项目标题,但我不能换行。我认为我可以缩放字体,但只是发现它没有意义,因为这些标题可以是长度为VEERY。几分钟后,我决定在我的控件的结尾30像素处做不透明渐变蒙版。长文本和不透明渐变蒙版

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

我有两个问题:

  1. 什么是实现这种不透明梯度面膜的最佳方式是什么?
  2. 如何在鼠标进入文本区域后显示整个文本(我认为ToolTip是一个不好的解决方案)?
+1

为什么不简单地将[TextTrimming](http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.texttrimming.aspx)设置为'CharacterEllipsis'?至少这是解决这个问题的“标准”方法。此外,ToolTip也是一种标准解决方案。 – Clemens 2013-03-05 10:37:39

回答

1
  1. 好吧,我不知道你是否要重新考虑这种做法。更容易实现,可能更容易理解的方式将使用省略号。每个用户都知道,当他看到这样的省略号时,这只是标题的一部分。
    TextBlock有这样的内置功能。感谢Clemens:TextBlock.TextTrimming=CharacterEllipsis

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

+0

1.不知道'CharacterEllipsis'修剪:)谢谢。 2.看起来不好。我们的团队希望我们的应用成为理想:) – Nickon 2013-03-05 10:42:06

+0

Btw。什么是Silverlight的解决方案?修剪道具没有'CharacterEllipsis'选项。 – Nickon 2013-03-05 10:45:38

+1

那么根据[this](http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.texttrimming%28v=vs.95%29.aspx)有一个文本修剪选项至少对于“TextBlock”来说。 – DHN 2013-03-05 11:14:32