Как добиться форматирования текста внутри элемента TextBlock
управления в моем приложении WPF?
Например: я хотел бы, чтобы некоторые слова были выделены жирным шрифтом, другие - курсивом, а некоторые - другим цветом, как в этом примере:
Причина моего вопроса - это настоящая проблема:
lblcolorfrom.Content = "Colour From: " + colourChange.ElementAt(3).Value.ToUpper();
Я бы хотел, чтобы вторая часть строки была полужирной, и я знаю, что могу использовать два элемента управления (метки, текстовые блоки и т. Д.), Но я бы не стал этого делать из-за большого количества уже используемых элементов управления.
c#
wpf
wpf-controls
Ясень
источник
источник
Существуют различные
Inline
элементы, которые могут вам помочь, для простейших вариантов форматирования, которые вы можете использоватьBold
,Italic
а такжеUnderline
:Я думаю, стоит отметить, что эти элементы на самом деле являются сокращениями для
Span
элементов с различными установленными свойствами (например: дляBold
,FontWeight
свойство установлено вFontWeights.Bold
).Это подводит нас к следующему варианту: вышеупомянутому
Span
элементу.С помощью этого элемента вы можете добиться тех же эффектов, что и выше, но вам предоставляется еще больше возможностей; вы можете установить (среди прочего) свойства
Foreground
илиBackground
:Span
Элемент может также содержать другие элементы , как это:Есть еще один элемент, который очень похож на
Span
, он называетсяRun
.Run
Не может содержать другие встроенные элементы в то время какSpan
банки, но вы можете легко связать с переменной кRun
«sText
собственности:Кроме того, вы можете выполнить все форматирование из кода программной части, если хотите:
источник
Посмотрите этот пример от Charles Petzolds Bool Application = Code + markup
источник
хороший сайт, с хорошими пояснениями:
http://www.wpf-tutorial.com/basic-controls/the-textblock-control-inline-formatting/
здесь автор дает вам хорошие примеры того, что вы ищете! В целом сайт отлично подходит для исследовательских материалов, а также охватывает множество вариантов, которые есть у вас в WPF.
редактировать
Существуют разные способы форматирования текста. для базового форматирования (на мой взгляд, самого простого):
В примере 1 показано базовое форматирование с полужирным курсивом и подчеркнутым текстом.
Ниже приведен метод SPAN, с помощью которого вы выделяете текст:
Пример 2 показывает функцию диапазона и различные возможности с ней.
Для подробного объяснения посетите сайт!
Примеры
источник
Это мое решение ....
Я учусь ... так что, если у кого-то есть проблемы с вышеуказанным решением, поделитесь! :)
источник