WPF中让TextBlock每一个字符显示不同的颜色

原文:WPF中让TextBlock每一个字符显示不同的颜色

XAML代码:

<TextBlock x:Name="tb">
              <Run Foreground="Red">R</Run>
              <Run Foreground="Green">G</Run>
              <Run Foreground="Blue">B</Run>
              <Run Text="Gradient">
                 <Run.Foreground>
                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                       <GradientStop Color="#FF000000" Offset="0"/>
                       <GradientStop Color="#FFFFFFFF" Offset="1"/>
                   </LinearGradientBrush>
              </Run.Foreground>
         </Run>
</TextBlock>

在后台的逻辑代码中应访问TextBlock的Inlines集合来得到它所包含的字串..如果你用Text属性是取不到值的..

CS代码:

string str1 = this.tb.Text;
string str2 = "";
foreach (Run r in tb.Inlines)
{
    str2 += r.Text;
}
MessageBox.Show("str1:["+str1+"]         str2:["+str2+"]");

运行结果:

TextBlock的显示效果:

显示TextBlock内的字符串:

原文地址:https://www.cnblogs.com/lonelyxmas/p/9589347.html

时间: 2024-11-05 20:26:47

WPF中让TextBlock每一个字符显示不同的颜色的相关文章

WPF中使用TextBlock显示长字符串的处理方法

原文:WPF中使用TextBlock显示长字符串的处理方法 在WPF中,有时候要显示长字符串,需要用到换行或者截短的情况,方法如下: 换行 可以使用<LineBreak/>标记换行: 可以用TextWrapping属性(如非特殊,推荐用这种方式,自动.自适应).它可以有NoWrap(不换行.缺省值).Wrap(换行).WrapWithOverflow(换行但允许超出文本块的宽度).WrapWithOverflow在换行的算法没办法确定如何正确换行(比如某个单词超长.换不换都超出宽度)时,允许行

[转]在WPF中区别TextBlock和Label

TextBlock和Label都是用来显示少量数据的.好多文章对Label存在的描述都是它允许使用"快速获取"."快速获取"就是允许你用Alt加上其它的按键快速和UI界面的某个控件交互,比如你可以用ALT加上O键来点击一个OK按钮. TextBlock直接继承于FrameworkElement,而Label继承于ContentControl.这样看来,Label可以做这样的事情: 1.可以定义一个控件模板(通过Template属性) 2.可以显示出string以外的

WPF中使用MVVM创建一个简单的框架

MVVM模式 一.MVVM模式概述 MVVM Pattern : Model\View\ViewModel View:视图.UI界面 ViewModel:ViewModel是对Model的封装,通过一系列属性暴露Model的状态,提供给View进行显示 Model:数据模型 使用MVVM模式可以将代码逻辑和UI进行分离,因此开发团队可以关注创建健壮的ViewModel类,而设计团队可以关注设计界面友好的View.要融合两个团队输出只需要在View的xaml上进行正确的绑定即可. 二.演示程序 下

WPF中的TextBlock隐藏边框

TextBlock默认是有边框的,显示效果如下:有一个淡蓝色的边框围绕着 如果需要隐藏这个边框,则只需要在代码中加上以下代码即可: BorderBrush="{x:Null}" BorderThickness="0" <TextBox Text="Hello" Width="480" TextWrapping="Wrap" IsReadOnly="True" BorderBrush

WPF中使用TextBlock的Inlines属性来完成复杂的文字内容

参考:http://blog.csdn.net/zhangjiyehandsom/article/details/5498845 1. 需求:要在一行内容中显示不同颜色以及粗细不一的字体, 解决办法:可以使用多个Label来显示这个功能,但是这个方法太笨来, 可以直接使用TextBlock的Inlines属性 例子如下:http://my.oschina.net/owen123456/blog/162190 目前正在赶项目,到时有空再回来详细书写

WPF中的TextBlock处理长字符串

Xaml: <StackPanel> <TextBlock Margin="10" Foreground="Red"> This is a TextBlock control<LineBreak /> with multiple lines of text. </TextBlock> <TextBlock Margin="10" TextTrimming="CharacterElli

WPF中一个控件绑定另一个控件的属性

原文:WPF中一个控件绑定另一个控件的属性 如同一个Grid中的一个按钮根据另一个按钮的显示与否作出不同的响应: 绑定的时候通过ElementName来指定控件 <Grid Margin="50,130"> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition Width="40"/> </Grid.ColumnDefinitions>

WPF中动态更新TextBlock文字中的超链接,文本

1.------------------------------------------------------------------------- 修改超链接的文本文字: <TextBlock><Hyperlink> <TextBlock  x:Name="TextBlockNeedChange" Text="改变的文本" /> </Hyperlink></TextBlock> 修改TextBlockN

WPF控件TextBlock中文字自动换行

原文:WPF控件TextBlock中文字自动换行 在很多的WPF项目中,往往为了追求界面的美观,需要控制控件中文字的换行显示,现对TextBlock控件换行的实现方式进行总结,希望大家多多拍砖!!! 1.使用转义字符 在XAML文件中,实现方式如下: <TextBlock x:Name="textBlock" Text="Jack Tom" Height="150" HorizontalAlignment="Center"