2013-03-05 4 views
1

У меня есть WPF/Silverlight управление - 200px ширина. Проблема в том, что я хочу разместить на нем заголовок элемента, но я не могу обернуть строки. Я думал, что могу масштабировать шрифт, но только узнал, что это бессмысленно, потому что эти названия могут быть VEERY long. Через несколько минут я решил сделать что-то вроде маски градиента непрозрачности на конце 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

ответ

1
  1. Ну я не знаю, если вы хотите пересмотреть этот подход. Гораздо проще достичь и, возможно, более понятным способом будет использовать многоточие. Каждый пользователь знает, когда видит такой эллипсис, что это только часть названия.
    TextBlock имеет такую ​​встроенную функцию. Благодаря Клеменсу: TextBlock.TextTrimming=CharacterEllipsis

  2. Почему плохой подход ToolTip? Если вам не нравится, как это выглядит, вы можете настроить стиль.

+0

1. Не знал об обрезке 'CharacterEllipsis' :) Спасибо. 2. Это выглядит плохо. Наша команда хочет, чтобы наше приложение было идеальным :) – Nickon

+0

КПП. Что такое решение для Silverlight? Нет опции 'CharacterEllipsis' для обрезки пропеллера. – Nickon

+1

Ну в соответствии с [это] (http://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.texttrimming%28v=vs.95%29.aspx) есть опция обрезки текста по крайней мере, для «TextBlock». – DHN

Смежные вопросы