我写了一个类似于内置 StackPanel 的面板。除了一个小问题,我几乎可以正常工作:
更改子项的布局属性并不总是会导致调用面板的 MeasureOverride 和 ArrangeOverride。当孩子的 Visibility 属性发生变化时,它们总是被调用,而不是在 Width 和 Height 属性发生变化时被调用。
我还没有设法在一个足够小以适合包含在 StackOverflow 上的问题中的示例中重现此行为:但是由于它在我制作的简单示例中运行良好,我知道我必须在我的实际面板中做一些可以避免的事情.
所以我的问题是:在哪些情况下元素在更改与大小相关的属性时不会使其父项测量无效?
我也标记了这个 wpf(我使用了 Silverlight)以拥有更广泛的受众 - 我怀疑这将同样适用于两个 xaml 实现。