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

获取一个文本框以填充WPF中的网格单元,wpf,xaml,textblock,Wpf,Xaml,Textblock,我试图在WPF中显示一个文本框,该文本框占据其包含的网格单元的整个空间 <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*" /> <ColumnDefinition Width="Auto"/> </Grid.ColumnDefinit

我试图在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。我得到的最接近的结果是直接将文本块置于网格中,并将
垂直对齐设置为
拉伸
,但这会使文本与文本块顶部对齐


因此,我的问题是:我如何(或是否可能)强制中间的文本块填充可用的网格空间,并将文本集中在文本块中?

如果使用标签而不是文本块,则可以将文本安排在中心。

无法将文本与垂直中心对齐