获取网格的中间行以填充可用空间

我已经通过了很多示例代码,并最终决定问这个问题:我有一个网格,它有一个固定位置的按钮和另一个网格。 外部网格没有设置宽度/高度。 它应该根据显示分辨率进行更改。 我将窗口的W / H设置为:

Width = 200;
Height = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height - 5;

在内部网格中,我有3行,上面的一个是一个按钮(高度自动),中间是一个列表视图,其高度可能会有所不同(并且必须填充可用空间),最后一行由一个文本框组成始终保持在窗口的底部。 下面的xaml是:

<Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Click="Button_Click" Width="32" Height="32" FontSize="16" VerticalAlignment="Center" 
            HorizontalAlignment="Left" FontWeight="Bold" ToolTip="Click here to hide the Sidebar">&gt;</Button>
<Grid VerticalAlignment="Top" Background="Transparent" Grid.Row="1">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <!-- This is the settings bar-->
            <RowDefinition Height="*" />
            <!-- This will contain the listbox-->
            <RowDefinition Height="Auto" />
            <!-- This is to maintain vertical arrangement and future use-->
        </Grid.RowDefinitions>

        <Button Content="hello" Grid.Row="0" />
        <ListView x:Name="lstView" Background="Transparent" Grid.Row="1"/>
        <TextBox TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Height="50" Margin="2" BorderBrush="Black" Grid.Row="2" />`

但我只是不能让中间行填满整个空间和文本框在屏幕底部对齐。 任何人都可以建议如何让文本框对齐底部和中间行填满整个剩余的高度,如何在不改变显示模式的情况下明确设置高度来实现这一点?


如果您不告诉Grid获取所有可用空间,则无法分配它,您应该将GridVerticalAlignment设置为Stetch

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

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

下一篇: Cannot get TextBoxes(2) to fill grid space