2014-04-15 75 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

相关问题