【发布时间】:2009-11-16 03:49:47
【问题描述】:
我有一个 3 行的网格,在我的顶行(200 像素高度)我想要一个蓝色背景上的文本。我如何指定我的文本块应该填充空间?当我添加它时,它只适合文本占用的空间。尝试使用 ViewBox,但也调整了文本大小,我希望它是固定大小...
有人吗?
【问题讨论】:
标签: xaml
我有一个 3 行的网格,在我的顶行(200 像素高度)我想要一个蓝色背景上的文本。我如何指定我的文本块应该填充空间?当我添加它时,它只适合文本占用的空间。尝试使用 ViewBox,但也调整了文本大小,我希望它是固定大小...
有人吗?
【问题讨论】:
标签: xaml
此代码是 XAML 中给定网格中 3 个不同控件的大小自动填充示例。自动填充是默认设置,因此您无需设置任何额外内容,只需确保未设置边距即可。我在 MS Expression Blend 中测试了这个解决方案,它工作正常。
<Grid Height="400" Width="250" Canvas.Left="100" Canvas.Top="20">
<Grid.RowDefinitions>
<RowDefinition Height="200*"/>
<RowDefinition Height="100*"/>
<RowDefinition Height="100*"/>
</Grid.RowDefinitions>
<Button Content="Button"/>
<CheckBox Content="CheckBox" Grid.Row="2"/>
<TextBlock Grid.Row="1" Text="Test Text block" TextWrapping="Wrap"/>
</Grid>
【讨论】:
如果在定义TextBlock 时设置了这四个属性,则只需从xaml 中删除它们,或者将它们设置为默认值:
HorizontalAlignment(默认为Stretch)VerticalAlignment(默认为Stretch)Width(默认为Auto)Height(默认为Auto)您的TextBlock 现在应该会自动拉伸并适合行。
还要确保您的Grid 也足够宽或设置为适合您的Window。您的Grid 的宽度也可能是罪魁祸首。
【讨论】: