WPF сбросить правый текст - возможно легко? - PullRequest
1 голос
/ 16 июля 2010

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

|    firstword|
|         form|

Под этим и некоторыми другими полями слева есть какая-то причудливая вещь. Конечно, в разных формах слова имеют разную длину, поэтому иногда слова находятся в одной строке, потому что они вписываются в ширину:

|   short form|

Она хочет, чтобы слова всегда были в двух строках, в основном в классическом «справа». AFAIK это не совсем возможно, особенно с локализацией. Если вам понравится какой-то код, который заменяет пробелы переносами строк, у вас будут слова, которые исчезают или не используют все пробелы в локализации.

Поэтому мой вопрос заключается в том, есть ли способ в WPF (возможно, в некоторых из этих типографских функций) легко получить правильный выровненный вид - если слово «форма» всегда внизу и справа, с любым другим слова выше справа вверху.

Ответы [ 2 ]

0 голосов
/ 16 июля 2010

Как то так?

   <StackPanel Name="StackPanel1">
        <WrapPanel Name="WrapPanel1" HorizontalAlignment="Right">
            <TextBlock Name="TextBlock2"  HorizontalAlignment="Right" TextWrapping="Wrap">
                <TextBlock.Text>
                    Lorum Ipsum Dolum Lorum Ipsum Dolum Lorum Ipsum Dolum Lorum Ipsum Dolum Lorum Ipsum Dolum Lorum Ipsum Dolum 
                </TextBlock.Text>
            </TextBlock>
        </WrapPanel>
             <TextBlock Height="23" Name="TextBlock1" Text="Form" HorizontalAlignment="Right" />
   </StackPanel>
0 голосов
/ 16 июля 2010

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

Если данные хранятся отдельно, вам не нужно беспокоиться о конечных пробелах (или их легко обрезать).Просто вставьте туда перевод строки при выводе на дисплей.

...