0
这类似于how-do-i-keep-aspect-ratio-on-scalable-scrollable-content-in-wpf,有以下区别:如何在不使用ViewBox的情况下保持嵌套网格正方形?
- 我想避免视框的副作用 - 而当容器调整电网应该调整,一些网格内容应保持尺寸(例如按钮)。
- 我不需要1以外的纵横比:1(?也许一些有约束力的技巧可以使用)
- 后面的代码是好的,但如果可能的话我想避免创建另一个容器
这类似于how-do-i-keep-aspect-ratio-on-scalable-scrollable-content-in-wpf,有以下区别:如何在不使用ViewBox的情况下保持嵌套网格正方形?
你只需要绑定的参数Width
或Height
其他的一个:
<Image x:Name="image" Height="{Binding Width, ElementName=image}"/>
你应该绑定网格的宽度和高度为一个值:
<!--Dont forget to specify source where MaxSizeParam lies-->
<Grid Width="{Binding MaxSizeParam}" Height="{Binding MaxSizeParam}"/>
MaxSizeParam你能提供,无论你想在一个你想要的方式。例如,如果网格具有按钮,然后在按钮MaxSizeParam你应该重新计算SizeChanged事件:
void button_SizeChanged(object sender, SizeChangedEventArgs e)
{
MaxSizeParam = e.NewSize.Width > e.NewSize.Height ? e.NewSize.Width : e.NewSize.Height;
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("MaxSizeParam"));
}