有各種Inline
元素,可以幫助你,對於最簡單的格式化選項,您可以使用Bold
,Italic
和Underline
:
<TextBlock>
Sample text with <Bold>bold</Bold>, <Italic>italic</Italic> and <Underline>underlined</Underline> words.
</TextBlock>
我認爲這是值得注意的,這些元素實際上只是用於設置各種屬性Span
元素速記(即:爲Bold
的FontWeight
屬性設置爲FontWeights.Bold
)。
這給我們帶來了我們的下一個選擇:前面提到的Span
元素。
您可以使用上述元素獲得相同的效果,但您有更多的可能性;可以設置(等等)的Foreground
或Background
屬性:
<TextBlock>
Sample text with <Span FontWeight="Bold">bold</Span>, <Span FontStyle="Italic">italic</Span> and <Span TextDecorations="Underline">underlined</Span> words. <Span Foreground="Blue">Coloring</Span> <Span Foreground="Red">is</Span> <Span Background="Cyan">also</Span> <Span Foreground="Silver">possible</Span>.
</TextBlock>
的Span
元件還可以包含其它元素是這樣的:
<TextBlock>
<Span FontStyle="Italic">Italic <Span Background="Yellow">text</Span> with some <Span Foreground="Blue">coloring</Span>.</Span>
</TextBlock>
有是另一個元素,與非常相似3210,它被稱爲Run
。該Run
不能包含其他內聯元素而Span
可以,但你可以輕鬆地將變量綁定到Run
的Text
屬性:
<TextBlock>
Username: <Run FontWeight="Bold" Text="{Binding UserName}"/>
</TextBlock>
此外,您還可以做從代碼 - 全格式後面如果你喜歡:
TextBlock tb = new TextBlock();
tb.Inlines.Add("Sample text with ");
tb.Inlines.Add(new Run("bold") { FontWeight = FontWeights.Bold });
tb.Inlines.Add(", ");
tb.Inlines.Add(new Run("italic ") { FontStyle = FontStyles.Italic });
tb.Inlines.Add("and ");
tb.Inlines.Add(new Run("underlined") { TextDecorations = TextDecorations.Underline });
tb.Inlines.Add("words.");
太棒了!我不知道XAML支持這樣的構造。 – 2012-10-27 17:44:18
是否支持綁定? – 2012-12-18 14:11:35
@ArsenMkrt怎麼樣: –
Aetherix
2013-02-25 21:40:04