我有一个WPF窗口,我希望窗口顶部的一部分只是其中包含的所有元素的高度。窗户的底部应该是可调节的高度区域。如果窗口较高,则底部应该是生长的部分,而不是顶部。
在窗口的底部,我想要包含两个部分。顶部应该是可调节高度部分,底部部分应该是显示其中包含的所有元素所需的高度。
如果查看下面的xaml代码,您会看到我总共定义了三个网格。外部网格有两个行定义,其中顶行设置为“自动”,以便高度足以包含其中包含的所有元素。第二行应该是可调整的,以允许它填充窗口大小的其余部分。
在外部网格的第二行内部是另一个网格,应该允许第一行对于高度是灵活的,而第二行对于包含在其中的所有元素来说足够高。
我遇到的问题是整个窗口没有填满。底部网格仅在外窗上向下一部分。为什么整个窗口不是由底部网格填充?如何更改定义以允许此操作?
<Window x:Class="WPFSample.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
<RowDefinition Height="*" />
<RowDefinition />
</Grid.RowDefinitions>
<Grid x:Name="TopGrid" VerticalAlignment="Top" Width="Auto" Height="Auto" Grid.Row="0">
<Button Height="23" HorizontalAlignment="Left" Margin="60,0,0,4" Name="button1" VerticalAlignment="Bottom" Width="75">Button</Button>
</Grid>
<Grid x:Name="BottomGrid" Width="Auto" Height="Auto" VerticalAlignment="Bottom" Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition />
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<Button Grid.Row="0" Height="23" Margin="60,0,61,4" Name="button2" VerticalAlignment="Bottom">Button</Button>
<Button Grid.Row="1" Height="23" Margin="60,0,61,4" Name="button3" VerticalAlignment="Bottom">Button</Button>
</Grid>
</Grid>
答案 0 :(得分:0)
我想出了这个。除了我认为的两个之外,我定义了多个行定义。删除多余的格式后,格式化工作正常。