WPF获取软件的真实大小(包含缩放后)。如何获取组件的真实大小呢?事实上如果我们没有为组件设定Height和Width的话那么,直接通过ControlName.Height取出来的就是NaN,其实是我们只是想要获取它此刻的真实大小。可以通过以下代码实现:
ControlName.ActualWidth
ControlName.ActualHeight
说明
WPF 控件的 Height/Width 是"期望值",未显式设置时为 NaN;ActualWidth/ActualHeight 才是布局完成后控件实际占用的尺寸(已包含缩放与父容器约束)。
- 取真实尺寸用 ControlName.ActualWidth / ActualHeight。
- 需在布局完成后读取(Loaded 事件或之后),否则可能仍为 0。
- 如需包含 RenderTransform 造成的视觉尺寸,可用 TransformToAncestor 计算。
相关阅读
- WPF中如何关闭显示的控件(UserControl)
- Net Core WPF 使用oxyplot控制示例(2.1)
- Net Core 的WPF项目中控制台输出日志
- WPF布局之Grid撑满剩余区域|Width=* 与布局写法