Я пишу приложение для Windows-телефона, и я хотел бы реализовать функцию «коснитесь текста для расширения».Динамические текстовые блоки
У меня есть ряд TextBlocks
, которые в настоящее время выглядят так же, как эти повторяющиеся несколько раз:
<TextBlock
Name="description" HorizontalAlignment="Left" VerticalAlignment="Top"
Margin="12,40,0,0" Width="444"
TextWrapping="NoWrap" TextTrimming="WordEllipsis" />
[Примечание два последние:. TextWrapping="NoWrap"
TextTrimming="WordEllipsis"
и отсутствие Height
быть установлено]
Это показывает, одна строка, а когда линия длиннее экрана, она заканчивается эллипсисом, что идеально. В настоящее время, когда пользователь удаляет TextBlock
, я поворачиваю TextWrapping
на Wrap
. Это позволяет использовать текст так много строк, сколько нужно (функциональность, которую я хочу).
Проблема заключается в том, что когда я поворачиваю TextWrapping
до Wrap
, он находится под ним (помните, что у меня есть группа из них, упакованных рядом друг с другом). Кроме того, чтобы получить его, чтобы расширить полностью я никогда изначально установить Height
, так что если я пытаюсь получить доступ к нему позже я NaN
(и ActualHeight
никогда не меняется от 26.6, независимо от того, сколько строк она расширяется, чтобы быть)
Я ищет способ динамически подтолкнуть TextBlocks
под ним сумму, необходимую для отображения текста целиком, но я не знаю, «правильный» способ сделать это. (на аналогичной ноте: hardcoding Margin
является unideal, особенно для динамически расширяющегося текста, есть ли «RelativeLayout
» (или что-то подобное), что я не смог найти?)
Отлично работает, спасибо! – pseudosudo