首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定导致LayoutUpdate/ArrangeOverride发生的原因?

确定导致LayoutUpdate/ArrangeOverride发生的原因?
EN

Stack Overflow用户
提问于 2009-03-26 15:35:27
回答 3查看 2.1K关注 0票数 5

我有一个自定义面板,它在调整大小时有它的LayoutUpdated事件和ArrangeOverride调用两次。

因此,最初,MeasureOverride和ArrangeOverride在打开客户端窗口后就会执行它们的操作。然后,如果我最大化窗口,每一个都会被调用两次。每次迭代的可用大小和最终大小都没有不同,所以我不确定是什么导致了这种情况。

有没有办法确定失效的原因?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-10-21 02:59:26

我认为它被调用了两次,因为高度和宽度都会改变。我认为这两个属性都会影响度量,因此每个属性都有一个布局通道。

票数 6
EN

Stack Overflow用户

发布于 2009-11-03 12:07:07

有没有办法确定失效的原因?

无效通常是由DependencyProperty的更改引起的,该更改的FrameworkPropertyMetadataOptions中有标志为影响测量/影响覆盖。

正如Pavel已经说过的--无效很可能会同时触发宽度和高度的更改。

无论如何,您不应该依赖于这些无效的数量。

票数 3
EN

Stack Overflow用户

发布于 2009-03-26 16:01:44

我认为最简单的方法是为每个方法设置一个断点,并观察调用堆栈。您将能够看到在调用您的方法之前发生了什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/686302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档