我有一个自定义面板,它在调整大小时有它的LayoutUpdated事件和ArrangeOverride调用两次。
因此,最初,MeasureOverride和ArrangeOverride在打开客户端窗口后就会执行它们的操作。然后,如果我最大化窗口,每一个都会被调用两次。每次迭代的可用大小和最终大小都没有不同,所以我不确定是什么导致了这种情况。
有没有办法确定失效的原因?
发布于 2009-10-21 02:59:26
我认为它被调用了两次,因为高度和宽度都会改变。我认为这两个属性都会影响度量,因此每个属性都有一个布局通道。
发布于 2009-11-03 12:07:07
有没有办法确定失效的原因?
无效通常是由DependencyProperty的更改引起的,该更改的FrameworkPropertyMetadataOptions中有标志为影响测量/影响覆盖。
正如Pavel已经说过的--无效很可能会同时触发宽度和高度的更改。
无论如何,您不应该依赖于这些无效的数量。
发布于 2009-03-26 16:01:44
我认为最简单的方法是为每个方法设置一个断点,并观察调用堆栈。您将能够看到在调用您的方法之前发生了什么。
https://stackoverflow.com/questions/686302
复制相似问题