我遇到了一个案例,我有一个自定义面板(从面板继承)并且我将它用作 ListView 中的 ItemsPanel。
当我调整它所在的容器的大小时,如果我把它调整得更小,我的面板的 MeasureOverride 函数会被调用一次,但是如果我把它调整得更大(比如说从 100 到 300),它会为 100 到 300 之间的每个值调用 MeasureOverride 和 ArrangeOverride ,以 2 为增量(如 102、104 等)。
奇怪的是容器立即调整大小(它的大小立即变为 300)。
我从 MeasureOverride 返回什么似乎并不重要——它就是这样做的。
我希望我可以在一个非常小的应用程序中实现它并将其发布在这里,但我还不能像那样复制它。不过,我可以整天在我的应用程序中重现它。
有谁知道这可能是什么原因?