我有一个围绕它内容自动调整的窗口。对于动画,我需要它的宽度和高度。 ActualWidth
始终是窗口的最大宽度,Width
和Height
属性表示NaN。
答案 0 :(得分:2)
ActualWidth / ActualHeight将为您提供窗口的实际大小 - 由布局系统给出,它基于窗口的实际渲染。这些应该是您正在寻找的尺寸。但是,计算可能会略有延迟,因为它基于渲染,所以如果它们是错误的,我猜它们还没有计算 - 并且你有一个竞争条件正在进行..你可以在链接中阅读更多相关信息上面,在计算实际尺寸的时候有一些重要的注意事项 - 因此 - 为什么它们会被延迟。
答案 1 :(得分:2)
您可以使用窗口的UpdateLayout() - 方法验证ActualWidth
和ActualHeight
。
答案 2 :(得分:0)
在动画尺寸更改时,您应尽可能使用ScaleTransform
而不是更改Height
和Width
值。它不仅可以帮助提高性能,还可以解决类似的问题,因为不是设置您可能不知道的特定大小值,而是将比例值指定为百分比。