我有这样的布局: 堆栈(垂直选项:开始) -Grid(vert options:start) [Row Star] -Image(Aspect.AspectFill) [行星] [Row Star]
2秒的行只是空的。我也尝试在c#中使用长度为1和2的2行进行此操作,但我遇到了同样的问题。
我的意图是让第一行占用当前堆栈大小的垂直空间的1/3。然后图像应该完全填满这个空间。
然而,图像不是仅占用堆栈行的1/3,而是最终扩展网格,堆栈和堆栈更大。
实现这一目标的最佳方法是什么?
答案 0 :(得分:0)
对于星形行高的空行,布局引擎将不分配空间。
比例() - 将列和行的大小按比例调整 剩下的空间。在C#和。中指定为值和GridUnitType.Star 在XAML中作为#,#是您想要的值。指定一个 带*的行/列将使其填充可用空间。
对于要占用空间的空行,您必须在网格中使用Absolute。
如果你只想占用父容器的1/3,那么使用填充父容器的内部相对布局,通过将x和y指定为0来使你的图像只有1/3(开始)从父母的orgin开始)和宽度为父母的100%,高度为父母的33%。