获取一个文本框来填充WPF中的网格单元格

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

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


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

链接地址: http://www.djcxy.com/p/50073.html

上一篇: Get a textbox to fill a grid cell in WPF

下一篇: Get middle row of grid to fill available space