2012-02-10 2 views
1

На нашей странице Silverlight у меня есть сборники с разными значениями. Когда выбрано, некоторые значения слишком велики, чтобы вписаться в свернутое поле со списком.Как эллипс в выбранном значении в поле со списком?

enter image description here

Я хотел бы, чтобы ellipsise ("System использовать ..." с тремя точками в конце концов).

В раскрывающемся списке можно увидеть полное имя значения, но при свертывании я хотел бы, чтобы выбранное значение было эллипсисом. Это похоже на очевидную вещь, так как выпадение обычно дает больше места, чем рухнувший контроль, но я все же не могу найти очевидный способ сделать это.

ответ

1

Возможно, вы захотите взглянуть на http://www.codeproject.com/Articles/37503/Auto-Ellipsis. Это похоже на предложение Зенексара, использует более эффективный алгоритм сокращения в общем случае. Но он также пишет о других типах «эллипсов», которые, возможно, также могут удовлетворить ваши потребности.

+0

Это продуманный подход, учитывая сложность итерации и измерение текста, поэтому я считаю это лучшим ответом. – JOG

0

Я думаю, что лучший способ - проверить длину выбранного элемента. Если длина больше заданной длины символа, отрежьте остальные и добавьте три периода.

+0

Вы действительно предлагаете подсчитать длину пикселя символов? – JOG

+0

Я не думаю, что он предлагает подсчет длины пикселей. Я думаю, что он предлагает получить приближение, основанное на длине символа. – Zenexer

1

Возьмите выбранный UIElement. Сравните RenderedWidth и RenderedHeight с DesiredSize, последний из которых будет скорректирован в зависимости от того, как отрезается элемент. Неоднократно удаляйте символы, добавляйте многоточие и недействите макет до тех пор, пока желаемый размер не будет меньше или равен RenderedWidth/RenderedHeight.

+0

+1 для информативного, спасибо, но я надеюсь на что-то более очевидное и меньше изменений. – JOG

+0

Я незнаком с silverlight, и я действительно не знаю, предлагаете ли вы напрямую манипулировать источником данных (строки?), Но если это так, то это кажется немного неприятным, когда вы работаете с элементом управления динамическим изменением размера. Особенно, когда он становится меньше, а затем больше: ушедшие персонажи ушли? – Xilconic

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