我是WPF的新手,所以这是一个非常虚假的问题。
在Visual Studio中 - >选择StackPanel时的属性(例如),我有属性Width。在这个属性中,我可以点击右边的小方块,菜单打开。菜单中的一个选项是“自定义表达式”
所以这是我的问题:
可以在Mathmatic表达式中定义Width和Height base吗?
<StackPanel Width="{Parent.Width - 100}">
</StackPanel>
或类似的东西?
修改
我问这个是因为我打算创建一个需要比窗口宽100像素的StackPanel。更改窗口大小时,StackPanel需要更改为对应此规则。
答案 0 :(得分:1)
您可以通过绑定父元素的宽度/高度来完成此操作。但是,为什么不使用动态布局而只是定义带有边距的子容器 - 在您的示例中为50px - 以使其宽度比父容器小100px。
所以理论问题的答案是“我可以根据另一个元素设置属性的计算值吗?”是的,使用与执行必要计算的转换器的绑定。
更重要的问题是“是否有更简单的方法来创建一个将父容器考虑在内的响应式布局?”答案也是肯定的,使用带边距,填充和对齐的容器组合来获得所需的效果。