10

テキストブロックに次のようなテキスト行があります。

「[精度]の精度で[ジェスチャ]を検出しました」

WPFで、テキストブロック内の要素の色を変更できるようにすることはできますか?テキストブロックを複数の色にすることはできますか?たとえば、赤にしたいジェスチャ名を除いて、TextBlock全体を黒にします。

これはWPFで可能ですか?

4

4 に答える 4

15

これが役立つかどうかを確認します。

 <TextBlock>
      Detected
      <TextBlock Text="{Binding Gesture}" Foreground="Red" />
      with an accuracy of
      <TextBlock Text="{Binding Accuracy}" />
 </TextBlock>
于 2010-04-24T17:57:26.033 に答える
2

私はあなたが意味することはこのようなものだと思います(テキストブロックのスタイリングではありません):

<TextBlock  FontSize="25" >
   <Run Text="Detected [" Foreground="Red"/><Run Text="gesture" Foreground="Gray"/>
   <Run Text="] with an accuracy of [" Foreground="Yellow"/><Run Text="accuracy]" Foreground="Green"/>
</TextBlock>

注:Runタグ間のすべてのEnter(または改行)は、それらの間にスペースを作ります。

于 2020-07-01T23:34:13.967 に答える
1

この投稿が古いことは知っていますが、これを試しましたか?この方法で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 });
        }
}
于 2018-10-24T16:58:59.410 に答える
0

そのためにRichTextBoxを使用して設定できますIsReadOnly = true

于 2010-04-24T17:51:31.953 に答える