Могу ли я иметь несколько цветов в одном TextBlock в WPF? - PullRequest
9 голосов
/ 24 апреля 2010

У меня есть строка текста в текстовом блоке, которая гласит:

«Обнаружен [жест] с точностью [точность]»

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

Возможно ли это в WPF?

Ответы [ 3 ]

14 голосов
/ 24 апреля 2010

Посмотрите, поможет ли это:

 <TextBlock>
      Detected
      <TextBlock Text="{Binding Gesture}" Foreground="Red" />
      with an accuracy of
      <TextBlock Text="{Binding Accuracy}" />
 </TextBlock>
1 голос
/ 24 октября 2018

Я знаю, что этот пост старый, но вы пробовали это ?? Вы можете фактически добавить разноцветный текст, таким образом, в TextBlock ..

Xaml: <TextBlock x:Name="txt_Txt"/>


foreach (var itm5 in "! Hello World !; %Hello World%".Split(';'))
{
       if (txt_Txt.Inlines.Count() > 0)
           txt_Txt.Inlines.Add(new Run("\r\n"));
       foreach (var letter in itm5)
       {
            if (char.IsSymbol(letter))
               txt_Txt.Inlines.Add(new Run(letter.ToString()) { Foreground = Brushes.Red });
            else
                txt_Txt.Inlines.Add(new Run(letter.ToString()) { Foreground = Brushes.Black );
        }
}
1 голос
/ 24 апреля 2010

вы можете использовать RichTextBox для этого и установить IsReadOnly = true

...