UWP 如何让控件保持宽高比
1、首先,以一个Grid为例。Grid有四行,这个Grid竖直方向拉伸,各个RowDefinition按比例指定。

2、在Grid.Resources中,设置样式,指定各个控件水平数值都是拉伸。

3、此时效果如图,高度是写死的,按比例分配的,宽度因为无限制,各个控件自动按照了最后一个按钮Random的宽度。

4、所以思路也很简单。最后一个按钮高度是按比例1*的,当高度变化时,只需要用代码更新最后一个按钮的宽度,会带动整个Grid的宽度变化,使得所有控件宽高比保持不变。

5、在SizeChanged处理函数中,使用(Button)sender获得按钮控件,捂执涡扔使用ActualHeight属性获得真实高度,然后乘以比例系数,赋值给Width。

6、最终效果如图所示。拉动窗口变化高度,按钮带动整个Grid的宽度变化。
