W05WPF程序中,TextBlock面板替你展示你的好文采

W05WPF程序中,TextBlock面板替你展示你的好文采TextBlock文本块虽说一图胜千言,但如果你有文采的话,写了不少的歌词诗赋,总是希望把它展示出来,这时TextBlock控件就会发挥它的作用。TextBlock从字面看就是文本块,这个控件最主要的功能就是显示文本。它只能显示文本,不能被

大家好,欢迎来到IT知识分享网。

TextBlock文本块

虽说一图胜千言,但如果你有文采的话,写了不少的歌词诗赋,总是希望把它展示出来,这时TextBlock控件就会发挥它的作用。

W05WPF程序中,TextBlock面板替你展示你的好文采

TextBlock从字面看就是文本块,这个控件最主要的功能就是显示文本。它只能显示文本,不能被编辑,所以又称为静态文本。虽然不能编辑内容,但是TextBlock可以使用丰富的印刷级的格式控制标记显示出专业的排版效果,从而使你的作品看起来赏心悦目。

TextBlock之所以能排版出漂亮的效果,是因为它对文本格式的控制不仅包括对文本块的整体格式控制,还包括对局部文本的格式控制,它的内容属性是TextBlock.Inlines(印刷中的“行”),也就是说,一个文本块中包含了许多“行”,我们的设置可以针对“行”来进行。同时TextBlock也保留了一个Text属性,当显示一个简单的字符串时,我们可以使用这个属性。

对局部文本的格式控制,TextBlock用的是所谓的“内联元素Inline Element”,也就是说,它们的控制对象是一行,甚至是一行中的某些字符。通过“内联元素”,TextBlock控件支持设置部分文本的样式。

W05WPF程序中,TextBlock面板替你展示你的好文采

好了,说了这么多,我们具体看看,怎么样通过设置TextBlock的属性,为我们做出专业的排版效果。

首先,是文本块的整体设置,包括以下属性:

(1)Foreground 前景色,即设置文字的颜色,文本块中单独设置的行或字符不受影响。

(2)Background 背景色,可以设置背景色,甚至可以用图片设置背景。例如,以苏轼画像为背景:

<TextBlock.Background>

<ImageBrush ImageSource=”/苏轼2.jpeg” TileMode=”None” />

</TextBlock.Background>

(3)Text 文本,即文本块显示的内容

(4)FontSize 字号,即字体大小

(5)FontFamily 字库,或字体,如宋体、黑体等

(6)FontWeight 字重,

(7)FontStyle (Italic) 字体样式,如斜体字等

(8)TextWrapping (Wrap) 自动换行设置,它可以有NoWrap(不换行。缺省值)、Wrap(换行)、WrapWithOverflow(换行但允许超出文本块的宽度)。WrapWithOverflow在换行的算法没办法确定如何正确换行(比如某个单词超长、换不换都超出宽度)时,允许行超出块的宽度。

(9)TextTrimming (CharacterEllipsis, WordEllipsis, None)当TextWrapping 属性设置为NoWrap(不换行。缺省值)时,窗口缩小时右侧文本的修剪方式,分别是:截断到任意字符(最后一个字符后显示…)、截断到某个单词(一个完整单词后显示…)、不截断。

(10)TextAlignment (center, justify, left, right) 文本对齐方式,有居中对齐、分散对齐、左对齐、右对齐。

对了,如果要换行,要用到<LineBreak/>元素。

W05WPF程序中,TextBlock面板替你展示你的好文采

其次,是局部文本的格式设置,包括以下元素:

(1)Run 设置一个新行,内容包含普通文本,在Run元素中可以使用上面的部分属性,如ForeGround、FontSize等,对文本行中的部分文本单独进行格式设置。如:

<Run Foreground=”Maroon” FontFamily=”Courier New” FontSize=”24″>hello</Run>

(2)TextDecorations文本修饰属性内联元素,可用于Run元素中,其值有:None无修饰、OverLine上划线、 Strikethrough删除线、 Baseline基线、Underline下划线。

(3)Bold、ltalic 和Underline应用粗体、斜体以及下划线格式,可以单独使用修饰文本。

最后,给个例子应用一下

<Grid>

<TextBlock Background=”BlanchedAlmond”

HorizontalAlignment=”Center”

Margin=”0″ Foreground=”Purple”

FontSize=”22″ TextAlignment=”Left”>

<TextBlock.Inlines>

<Run Foreground=”BlueViolet” FontSize=”30″

xml:space=”preserve” >

江城子·密州出猎</Run>

<LineBreak/>

<LineBreak/>

<Run xml:space=”preserve”>

【作者】苏轼

</Run>

<LineBreak/>

<Run xml:space=”preserve”>

【朝代】宋

</Run>

<LineBreak/>

<LineBreak/>

<Underline> 老夫聊发少年狂,</Underline>

<Run Foreground=”Red” FontSize=”24″ >

左牵黄,右擎苍,

</Run>

锦帽貂裘 ,千骑卷平冈。

<LineBreak/>

<Bold>

为报倾城随太守,亲射虎,看孙郎。

</Bold>

<LineBreak/>

<Run Foreground=”White” FontFamily=”微软雅黑”

FontStyle=”Italic” FontSize=”40″

TextDecorations=”Strikethrough”>

酒酣胸胆尚开张,

</Run>鬓微霜,又何妨!

<LineBreak/>

持节云中,何日遣冯唐?

<LineBreak/>

会挽雕弓如满月,西北望,射天狼。

</TextBlock.Inlines>

</TextBlock>

</Grid>

效果如何,你自己拷贝到Xaml文件中,运行一下,就知道了。

若对你有帮助的话,请帮忙关注、点赞、转发!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/88216.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信