使控件宽度/高度无效,通过对齐-拉伸重新计算

本文关键字:-拉 新计算 计算 对齐 控件 高度 无效 | 更新日期: 2023-09-27 18:08:43

我有一个控件,它的位置和大小取决于一个可以在运行时改变的属性值。它的宽度或高度可以通过水平/垂直对齐方式"stretch"来设置。

我有一个场景,我首先在一个模式中,我想让它垂直拉伸。我在后面的代码中手动设置了宽度,并且垂直对齐设置为拉伸。然后属性得到更新,我想要显式地设置高度并将HorizontalAlignment设置为Stretch。

我甚至添加了对

的调用
this.InvalidateMeasure();
this.InvalidateArrange();

属性更改后,但它似乎不起作用。例如,高度被设置为一个数字后,它不会像我想要的那样被覆盖。

MSDN page does state:

当在元素上显式设置Height和Width属性时,这些测量值在布局时具有更高的优先权,并且将取消将HorizontalAlignment设置为Stretch的典型效果。

那么我如何"取消设置"的宽度/高度属性的控制?

使控件宽度/高度无效,通过对齐-拉伸重新计算

可以设置高度为Double。NaN和Width为Double。南