Có nhiều Inline
yếu tố khác nhau có thể giúp bạn, đối với các tùy chọn định dạng đơn giản nhất mà bạn có thể sử dụng Bold
, Italic
và Underline
:
<TextBlock>
Sample text with <Bold>bold</Bold>, <Italic>italic</Italic> and <Underline>underlined</Underline> words.
</TextBlock>
Tôi nghĩ điều đáng chú ý là những phần tử đó thực chất chỉ là viết tắt của Span
các phần tử có các thuộc tính khác nhau được đặt (ví dụ: for Bold
, thuộc FontWeight
tính được đặt thành FontWeights.Bold
).
Điều này đưa chúng ta đến tùy chọn tiếp theo: Span
yếu tố đã nói ở trên .
Bạn có thể đạt được các hiệu ứng tương tự với phần tử này như trên, nhưng bạn còn được cấp nhiều khả năng hơn; bạn có thể đặt (trong số những người khác) Foreground
hoặc các Background
thuộc tính:
<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>
Phần Span
tử cũng có thể chứa các phần tử khác như sau:
<TextBlock>
<Span FontStyle="Italic">Italic <Span Background="Yellow">text</Span> with some <Span Foreground="Blue">coloring</Span>.</Span>
</TextBlock>
Có một yếu tố khác, khá giống với Span
, nó được gọi là Run
. Các Run
không thể chứa các thành phần inline khác trong khi Span
có thể, nhưng bạn có thể dễ dàng ràng buộc một biến đến Run
's Text
tài sản:
<TextBlock>
Username: <Run FontWeight="Bold" Text="{Binding UserName}"/>
</TextBlock>
Ngoài ra, bạn có thể thực hiện toàn bộ định dạng từ mã phía sau nếu bạn muốn:
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.");