我在这里的问题更多的是理论问题,而不是功能性问题。所以我要找的是一个答案,也许可以用一些文档来备份。
我发现自己在这样的情况下,我需要为一个wpf控件的孩子做一些定制的测量/安排?
所有的逻辑都是在MeasureOverride中吗?还是应该用接收到的大小作为参数调用度量值,然后在ArrangeOverride中执行逻辑?谢谢!
发布于 2014-07-02 09:46:33
我想你可以用任何尺寸的。MeasureOverride方法的参数指定控件可用的大小。控件可以返回它需要的任何DesiredSize,即使它比AvailableSize大。
子控件也会这样做。对子级调用度量值的结果是设置了该孩子的DesiredSize。这也可以是任何东西,取决于孩子的测量逻辑。在MeasureOverride方法中,可以使用逻辑来理解返回的DesiredSizes。
如果您有度量逻辑,那么它绝对应该存在于MeasureOverride方法(或助手方法)中,而不是在ArrangeOverride中。ArrangeOverride只用于定位。
我肯定你已经查过了,但我还是会发链接的。http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.measureoverride%28v=vs.110%29.aspx
发布于 2015-01-17 07:33:47
另外几点:
double remainingWidth = Math.Min(0, availabeSize.Width - DesiredSize.Width);https://stackoverflow.com/questions/24527529
复制相似问题