WPF: Как выровнять все строки в абзацах (тоже строки с переносами) - PullRequest
3 голосов
/ 28 апреля 2010

У меня есть несколько абзацев в FlowDocument, и мне нужно выровнять все строки (даже строки с переносами строк)

Вот пример кода:

 <Paragraph TextAlignment="Justify">
"One of the most important operations necessary when text materials
are prepared for printing or display is the task of dividing long
paragraphs into individual lines.<LineBreak/>
When this job has been done well,
people will not be aware of the fact that the words they are reading
have been broken apart arbitrarily and placed into a somewhat rigid
and unnatural rectangular framework; but if the job has been done
poorly, readers will be distracted by bad breaks that interrupt
their train of thought."
</Paragraph>

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

Как этого достичь?

(Обратите внимание, что желаемый вывод - это тот же вывод, который можно получить в слове мс, если в абзаце есть разрывы строк и он настроен на выравнивание, например, если в строке 3 слова, слева будет 1 слово в центре и один справа)

Спасибо, Sam

Ответы [ 2 ]

1 голос
/ 28 апреля 2010

Я не думаю, что вы можете достичь того, что вы хотите. Даже если вы замените <LineBreak/> закрывающим абзацем (который, я знаю, вам не нужен):

<Paragraph TextAlignment="Justify">
One of the most important operations necessary when text materials
are prepared for printing or display is the task of dividing long
paragraphs into individual lines.
</Paragraph>
<Paragraph TextAlignment="Justify">
When this job has been done well,
people will not be aware of the fact that the words they are reading
have been broken apart arbitrarily and placed into a somewhat rigid
and unnatural rectangular framework; but if the job has been done
poorly, readers will be distracted by bad breaks that interrupt
their train of thought.
</Paragraph>

последняя строка абзаца выравнивается по левому краю.

0 голосов
/ 10 января 2017

Это то, что вы, возможно, хотите сделать:

<Paragraph Margin="5,5,5,5"> <!--You can assign margin here or below to give you the spacing needed-->
<!--You can set width as need, but new line can be done in a textblocks LineBreak-->
<TextBlock TextAlignment ="Justify" TextWrapping="Wrap" Width="150"> 
    One of the most <LineBreak/>important operations necessary when text materials 
    are prepared for printing or display is the task of dividing long
    paragraphs into individual lines.
</TextBlock>                               

Надеюсь, это поможет ...

...