WPF布局网格布局任何大小的行,但高度最小
本文关键字:布局 高度 网格 任何大 WPF | 更新日期: 2023-09-27 18:20:36
嗨,我对XAML很陌生,只是不知道如何创建这个布局。
想象一个有页眉、主区域和页脚的布局。每个区域只是一个图像控件。
我使用的网格定义是:
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
所以所有的空地都被主要区域占用了。这对于纵向窗口非常好,但是当窗口被调整为横向时。页脚和页眉占用了所有的空间,主区域几乎没有剩余空间,实际上我看不到主区域的图像,因为没有剩余空间。
那么,是否可以指定主要区域的最小高度?我试着在主区域中使用MinHeight进行图像控制,但没有什么不同。我希望通过指定最小高度,这将迫使页眉和页脚区域变小,因此这些图像将按比例缩放以保持纵横比,因此它们的宽度也将变小。希望这是有道理的。
有什么想法吗?
当您将*
分别指定为行或列的Height
或Width
时,您会告诉它们在其他计算后剩余%。如果有两列的*
为Width
,则它们各占用50%的剩余空间。
当您指定Auto
时,它会考虑到内部控件的大小。
行和列定义具有属性MinHeight
因此,您可以尝试设置主行的MinHeight
,但我认为它可能不起作用,您也可以指定页眉和页脚行中元素的大小为特定大小(您只能在横向模式下这样做,并在纵向模式下保持原样)
编辑-添加链接以供参考
网格长度结构
GridUnitType枚举
- 自动-大小由内容对象的大小属性决定
- 像素-该值以像素表示
- 星形-该值表示为可用空间的加权比例