2014-04-15 76 views
2

是否可以根據文本設置文本塊的高度和寬度?文本是否被動態地賦予文本塊?根據文本的文本塊的高度和寬度

TextBlock myTextBlockj = new TextBlock() 
    { Text = "Hello World", 
    Width =150, 
    Height = 40, 
    FontSize = 20 
    }; 

文本塊的文本是「Hello World」的。我想作爲文本text.If改變文本塊的寬度應更改設置大小相同的文本塊的寬度。

任何人都有想法嗎?

+0

雅可能,但取決於你的xaml樹。 – Jaihind

回答

2

所有你需要的是,TextWrapping = TextWrapping.Wrap

代碼:

TextBlock myTextBlockj = new TextBlock() 
{ 
    Text = "Hello World", 
    HorizontalAlignment = HorizontalAlignment.Left, 
    VerticalAlignment = VerticalAlignment.Top, 
    TextWrapping = TextWrapping.Wrap 
}; 

在XAML:

<TextBlock Text="Hello world" TextWrapping="Wrap" HorizontalAlignment="Left" VerticalAlignment="Top" /> 

此外,您可能需要TextTrimming的情況下,文本超過了可用空間。

0

您只需將VerticalAlignment和Horizo​​ntalAlignments設置爲拉伸之外的其他值。

這裏是一個頁面例如:

<Window x:Class="TextblockMinSize.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <TextBlock Text="Hello, world!" HorizontalAlignment="Left" VerticalAlignment="Top"/> 
    </Grid> 
</Window> 

而且在代碼中,您有:

TextBlock myTextBlockj = new TextBlock() 
{ 
    Text = "Hello World", 
    HorizontalAlignment = HorizontalAlignment.Left, 
    VerticalAlignment = VerticalAlignment.Top 
}; 
+0

設置ALIGNMENT不會根據文本設置文本塊的寬度。 – Mihir

+0

Mihir,你需要將寬度和高度設置爲自動,但之後,是的。 – Rhyous

0

對於身高,你可以嘗試

LineHeight="Auto" 
+0

寬度怎麼樣? – Mihir

+0

LineHeight工作? – Nanosoft

+0

沒有它沒有工作。 – Mihir

相關問題