是否可以根据文本设置文本块的高度和宽度?文本是否动态地提供给文本块?
TextBlock myTextBlockj = new TextBlock()
{ Text = "Hello World",
Width =150,
Height = 40,
FontSize = 20
};
文本块的文本是“Hello World”。我想设置与text相同大小的文本块的宽度。如果文本改变,文本块的宽度应该改变。
有人对此有所了解吗?
答案 0 :(得分: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。
答案 1 :(得分:0)
您所要做的就是将VerticalAlignment和HorizontalAlignments设置为拉伸以外的其他内容。
以下是一页示例:
<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
};
答案 2 :(得分:0)
对于身高,你可以尝试
LineHeight="Auto"