簡體   English   中英

WPF Textblock縮放和換行

[英]WPF Textblock zoom and wrap

我有一個需要的文本塊

  1. 在給定空間內以最大字體大小顯示文本(較大字符較大字母,反之亦然)
  2. 將文本包裝在給定的空間內。

我嘗試在下面的視圖框中使用文本框,但如果我沒有指定文本塊的寬度和高度,則文本換行不起作用。 如果我指定寬度和高度與視圖框大小相同,顯然不會進行縮放。

<Viewbox Stretch="Fill" Width="100" Height="100">
<TextBlock TextWrapping="Wrap"/>
</Viewbox>

有沒有其他方法可以實現這一目標? 或者我應該考慮編寫一個算法來根據文本的數量手動增加字體大小? 任何幫助表示贊賞。

試試這個代碼。

XAML:

<TextBlock x:Name="textBlock"
           Text="Something text"
           TextWrapping="Wrap"
           FontSize="1"
           Width="100"
           Opacity="0" />

代碼背后:

while (textBlock.ActualHeight <= 100)
{
    textBlock.FontSize += 0.1;
    textBlock.UpdateLayout();
}
textBlock.FontSize -= 0.1;
textBlock.Opacity = 1;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM