获取文本框以填充WPF中的网格单元格

时间:2014-12-07 12:48:59

标签: wpf xaml textblock

我正在尝试在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时,这会使文本与文本块的顶部对齐。

所以,我的问题是:我怎么能(或者有可能)强制中间文本块填充可用的网格空间,并将文本集中在文本块中?

1 个答案:

答案 0 :(得分:0)

如果使用标签而不是TextBlock,则可以将文本排列为中心。