2017-07-17 71 views
-1

我有一个覆盖MeasureOverrideArrangeOverride方法的自定义面板。WPF MeasureOverride/ArrangeOverride ActualWidth

一切顺利,唯一的问题是,在OnRender方法的孩子,ActualWidth不会改变,即使我用一个较小的rect调用child.Arrange()。

该文档确实提到,不建议在ArrangeOverride中调用UpdateLayout - 此方法可能会更改孩子的ActualWidth,但我希望有一个更好和正确的方法。

有没有人知道这个解决方案?

+2

缺乏可靠地再现问题的良好[mcve],没有人能告诉你代码出了什么问题。请记住,元素大小可能由容器对象控制。解决你的问题,如果你真的想要一个答案。 –

回答

1

同意@Peter关于例子,我刚发现问题后才发现问题。

似乎我创建时指定了每个孩子的宽度,并且ActualWidth始终设置为此值,而不是测量和排列函数中使用的值。

谢谢任何​​人看这个。