首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么加载事件后镜像的ActualWidth和ActualHeight返回0?

加载事件后镜像的ActualWidth和ActualHeight返回0的原因是因为在加载事件中,控件的布局尚未完成。在WPF中,布局是通过布局系统来完成的,而布局系统是在控件加载完成后才开始执行的。

当控件加载完成后,布局系统会根据控件的属性和父控件的布局规则来计算控件的尺寸。这个过程是异步的,需要一定的时间来完成。因此,在加载事件中获取控件的ActualWidth和ActualHeight属性时,由于布局尚未完成,这两个属性的值会返回0。

解决这个问题的方法是使用控件的Loaded事件而不是加载事件。Loaded事件在布局完成后触发,可以确保获取到正确的ActualWidth和ActualHeight值。可以在Loaded事件处理程序中获取控件的尺寸,并进行相应的操作。

需要注意的是,Loaded事件可能会触发多次,因此在处理程序中需要进行适当的判断,确保只执行一次相关操作。

推荐的腾讯云相关产品和产品介绍链接地址:

这些产品可以为开发者提供一体化的云计算解决方案,助力应用的开发、部署和运维。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Extensions in UWP Community Toolkit - FrameworkElement Extensions

ActualWidth ActualHeight。 ...变为 False 时,获取到 ActualHeight ActualWidrh 一直都是变为 False 时最后一个值,不管尺寸怎么改变都不会被更新和监听; 而通过扩展设置绑定,直接设置 ActualHeight... ActualWidth 在改变时,会实时赋值,这样绑定属性就能得到实时更新。...} 代码简单分析如上,大家在实际项目中可以对这个类进行扩展,比如把 Opacity,Color 等也作为可以实时绑定值,实现方式 ActualHeight ActualWidth 很类似,大家可以自行扩展...调用示例 我们创建了三个 Rectangle,第一个是绑定目标,第二第三个去绑定第一个实际尺寸;可以看到因为第二个红色矩形使用 ActualHeight ActualWidth 直接进行绑定,所以并没有绑定到正确

78180

Android Volley 源码解析(三),图片加载实现

URL 地址 2、图片请求成功回调,这里我们将返回 Bitmap 设置到 ImageView 中 3、4 分别用于指定允许图片最大宽度高度,如果指定网络图片宽度或高度大于这里值,就会对图片进行压缩...在 ImageListener 中传入所加载图片 URL,以及图片占位符和加载失败显示图片,最后调用 ImageLoader.get() 方法便能进行图片加载。...= getResizedDimension(mMaxWidth, mMaxHeight, actualWidth, actualHeight, mScaleType...int actualWidth, int actualHeight, int desiredWidth, int desiredHeight) { double wr = (double...总结 Volley 源码解析系列,到这里就全部结束了,这是我写过最长系列文章了,从一开始 Volley 源码阅读,到之后代码整理以及现在文章输出,花了我差不多一个星期时间,不过对于网络加载图片加载有了更深理解

84120

win10 uwp 自定义控件初始化

我遇到一个问题,我在 xaml 用了我自定义控件,但是我给他设置了一个值,但是什么时候我才可以获得这个值? 本文告诉大家,从构造函数、loaded、Initialized 调用过程。...xaml 使用它,给他一个属性值,这里给他 2 然后写 load Initialized 函数。...loaded 是事件,可以在构造使用下面代码 Loaded += OnLoaded; 然后运行,查看他们属性值是否修改 ?...同时无法获得 ActualHeight ActualWidth 值。 在 Loaded 时候,可以获得属性值,而且可以获得 ActualHeight ActualWidth 值。...所以调用顺序是 构造-OnInitialized-Loaded 参见:WPF概念解析一: FrameworkElementLoaded事件Initialized事件 ----

55410

Extensions in UWP Community Toolkit - Visual Extensions

 SizeChanged 事件绑定;把 normalizedValue 转为 Vector3 类型,然后设置 element VIsual CenterPoint,根据 ActualSize ...; } } 来看一下 KeepCenteredElementSizeChanged 事件处理逻辑, SetupNormalizedCenterPoint(args, element) 方法处理基本相同...* vectorValue.X, (float)element.ActualHeight * vectorValue.Y, 0); } 我们看到很多属性都是 string 类型,而实际操作中需要用到各种类型...Vector,要求 string 格式为 "0,0", "0,0,0", "0,0,0,0" 这样用逗号隔开格式,类似 Margin 格式,来看一下转换方法: 因为 string 转换为 Vector2...总结 到这里我们就把 UWP Community Toolkit Extensions 中 VisualExtensions 源代码实现过程简单调用示例讲解完成了,希望能对大家更好理解使用这个扩展有所帮助

63650

WPF 实现自定义笔迹橡皮擦

在 Stroke 类里面将作为管理笔迹类提供笔迹渲染橡皮擦等功能。咱下面将从 Stroke 类开始,自己定义笔迹橡皮擦。...因此 InkCanvas 就不能接收到消息,也就无法进入书写了 在 EraserCanvas 监听输入事件,如下面代码监听了鼠标事件。...需要传入是橡皮擦形状大小,可以支持橡皮擦只有矩形圆形两个。本文这里使用是矩形橡皮擦。...事件,这个事件将会在笔迹被擦到时候触发,这个事件就是咱核心逻辑了 在鼠标移动时候,需要给 IncrementalStrokeHitTester 加上当前触摸移动点,请看代码...在调用 IncrementalStrokeHitTester AddPoint 方法时候,如果刚好此时命中到了某个笔迹,那么将会触发 StrokeHit 事件 在 StrokeHit 事件里面包含了两个有用参数

89920
领券