WPF获取软件的真实大小(包含缩放后)。如何获取组件的真实大小呢?事实上如果我们没有为组件设定Height和Width的话那么,直接通过ControlName.Height取出来的就是NaN,其实是我们只是想要获取它此刻的真实大小。可以通过以下代码实现:

ControlName.ActualWidth
ControlName.ActualHeight

 

说明

WPF 控件的 Height/Width 是"期望值",未显式设置时为 NaN;ActualWidth/ActualHeight 才是布局完成后控件实际占用的尺寸(已包含缩放与父容器约束)。

  • 取真实尺寸用 ControlName.ActualWidth / ActualHeight。
  • 需在布局完成后读取(Loaded 事件或之后),否则可能仍为 0。
  • 如需包含 RenderTransform 造成的视觉尺寸,可用 TransformToAncestor 计算。

相关阅读

参考资料