我正在尝试在WPF中显示一个占据其包含网格单元格的整个空间的文本框。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Content="1" HorizontalAlignment="Center"/>
<DockPanel Grid.Column="1" VerticalAlignment="Stretch" >
<TextBlock
Text="2"
Background="Black" Foreground="White"
TextAlignment="Center" VerticalAlignment="Center"
/>
</DockPanel>
<Button Grid.Column="2" Content="3" HorizontalAlignment="Center"/>
</Grid>
我已尝试直接在网格中使用textblock,以及各种其他容器:DockPanel,UniformGrid,StackPanel。我得到的最接近的是当我直接在网格中有文本块并将VerticalAlignment
设置为Stretch
时,这会使文本与文本块的顶部对齐。
所以,我的问题是:我怎么能(或者有可能)强制中间文本块填充可用的网格空间,并将文本集中在文本块中?
答案 0 :(得分:0)
如果使用标签而不是TextBlock,则可以将文本排列为中心。