我在文本块中有一行文字如下:
“检测到[手势],精度为[准确度]”
在WPF中,我是否可以更改文本块中元素的颜色?我可以将文本块设置为多种颜色吗?例如,我希望整个TextBlock都是黑色的,除了手势名称,我希望它是红色的。
这可以在WPF中使用吗?
答案 0 :(得分:14)
看看这是否有帮助:
<TextBlock>
Detected
<TextBlock Text="{Binding Gesture}" Foreground="Red" />
with an accuracy of
<TextBlock Text="{Binding Accuracy}" />
</TextBlock>
答案 1 :(得分:1)
您可以使用RichTextBox来设置IsReadOnly = true
答案 2 :(得分: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 );
}
}
答案 3 :(得分:0)
我认为您的意思是这样的(不是文本块的样式):
<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>
注意:“运行”标签之间的每个enter(或换行)之间都必须有空格。