Text 屬性集,如以下範例:

<TextBlock>Hello, world!</TextBlock>
Silverlight-TextBlock換行-LineBreak注意事項:

設定 XAML 概觀

使用 Run 和 LineBreak 物件

TextBlock 模型中的項目 (Item)。

下列 XAML 範例示範如何在 LineBreak 分隔。

as Run objects within a TextBlock. -->
<Canvas>
<TextBlock
  FontFamily="Arial" Width="400" Text="Sample text formatting runs">
  <LineBreak/>
  <Run Foreground="Maroon" FontFamily="Courier New" FontSize="24">Courier New 24</Run>
  <LineBreak/>
  <Run Foreground="Teal" FontFamily="Times New Roman" FontSize="18" FontStyle="Italic">Times New Roman Italic 18</Run>
  <LineBreak/>
  <Run Foreground="SteelBlue" FontFamily="Verdana" FontSize="14" FontWeight="Bold">Verdana Bold 14</Run>
</TextBlock>
</Canvas>

下圖顯示先前 XAML 內容範例所轉譯的格式化文字。

TextBlock rendering multiple Run objects

Silverlight-TextBlock換行-LineBreak

LineBreak 物件的情況下的呈現方式。

多個 Run 物件的 TextBlock 呈現方式:沒有 LineBreak 物件的情況下

Silverlight-TextBlock換行-LineBreak

以程式碼存取 TextBlock 文字模型

Inlines

文字換行

TextBlock 中的文字不會自動換行。 因為沒有換行,所以根據其他設定,文字可能發生下列其中一種情況:

  • 如果 TextBlock 一定會在某個其他的容器父項目中,而且會到達配置父項的鏈結 (Chain),此處也一定是寬度條件約束。 如果超過執行的配置條件約束寬度,則會導致文字被剪裁。

  • 如果 TextBlock 會自行進行文字剪裁。

如果要使用自動換行,請將 。 開啟文字換行:

  • 如果 Width,則文字會在目前執行的配置條件約速寬度的位置進行自動換行。

  • 如果 Width 位置進行自動換行。

因為 Width,便可以比較這兩個值。

如需詳細資訊,請參閱 TextWrapping

未換行與換行文字的 TextBlock 呈現方式

Silverlight-TextBlock換行-LineBreak
TextWrapping 對 ActualWidth 和 ActualHeight 的影響方式

Silverlight-TextBlock換行-LineBreak

多行 TextBlock 文字

會因為自動換行或明確 .BlockLineHeight 會以「區塊」字型設計度量 (也會儲存為字型中的值) 做為有效文字行高度的基準。

套用轉換到 TextBlock 文字

轉換可改變您的應用程式中所顯示的文字。 轉換是一般的 UI 項目概念,適用於許多不同的類別,包括文字項目。 您會在文字上使用轉換效果以及其他可能的使用案例包含下列:

RotateTransform,反轉文字

ScaleTransform,用於大於字型中所繼承之支援大小上限的文字

SkewTransform,用於切變或斜體模擬

TranslateTransform,用於位移與陰影效果

當您在文字中套用轉換時,首先應該考慮是否還有其他方法可以使用文字項目屬性而產生類似的效果。 例如,如果字型家旅支援斜體 FontStyle,那麼比起套用 ScaleTransform,也可以獲得較理想的效果。

您可能需要在文字上使用轉換的一個使用案例是,您可以設定轉換的動畫,以產生視覺效果。

建立 TextBlock 文字的動畫

許多文字屬性 (Property) 的值可以建立成動畫,包含 FontSize 的文字大小、透過 動畫概觀

將文字屬性 (尤其是大小或前景筆刷) 建立成動畫可能會耗用許多系統資源。 這是因為 Silverlight 在呈現文字時,會使用提示來使每個文字圖像變平滑。 如果您建立文字大小的動畫 (藉由使用 FontSize),則 Silverlight 會提示每個畫面的圖像,這是很耗費資源的,並可能會造成畫面捨棄。 如果應用程式需要對大型文字進行動態縮放變更,則建議您使用下列其中一種替代方案:

  • 以向量圖形模擬文字,例如 Path

  • 在要在其中設定文字動畫的項目上,將附加屬性 TextOptions

利用LineBreak實現文本豎排:實做見 http://www.cnblogs.com/JinDin/archive/2010/03/21/1691206.html

相关文章: