这一节介绍的是文字布局的几个控件:
1.TextBlock 最基本的文字控件可以配置5个Font属性。TextWraping属性,"Wrap"是换行,NoWrap是不换行(原书有误,在此更正)。TextBlock控件内可以放置很多控件,不光是文字。 < TextBlock TextWraping = " Wrap " > < Button > Split </ Button > < CheckBox > across </ CheckBox > < TextBox > multiple </ TextBox > lines </ TextBlock >
AccessText,Bold,Hyperlink,Italic和Underline望文生义,Subscript和Superscript已经废弃。(AccessText没有期望的效果) < TextBlock FontSize = " 18 " > < AccessText > T </ AccessText > his < Italic > is </ Italic > < Bold > rather </ Bold > < Underline > messy </ Underline > . < Hyperlink > www.example.com </ Hyperlink > </ TextBlock >
2. Text and Whitespace 这里Whitespace指的是 回车符,就是说,TextBlock是将其忽略的,只有在TextBlock中设置了xml:space="preserve" ,才会表现出来这个回车换行: < TextBlock FontSize = " 18 " xml:space = " preserve " > < AccessText > T </ AccessText > his < Italic > is </ Italic > < Bold > rather </ Bold > < Underline > messy </ Underline > . < Hyperlink > www.example.com </ Hyperlink > </ TextBlock >
当然,一般不建议主动这么做,除非你是直接copy一大段文章过来。 你或者可以把xml:space="preserve"只设置在 < Bold > rather </ Bold >上,也能达到同样的效果。设置TextAlignment="Left"/Right/Center/Justify属性,可以控制TextBlock中文本对齐方式,Justify是居中对齐。 3.TextFlow 功能比TextBlock强大,提供了5个内嵌的容器标签: 1)Paragraph 2)List 3)Table 4)Floater 5)Figure 粗粗看了一遍这5个容器,没什么意思,无非是Word中的5种布局方案的迁移,而且,微软白皮书说,TextBlock的效率比TextFlow高很多,尽量必要用后者。