我多次看到MeasureOverride
和ArrangeOverride
中的代码相同,除了调用度量并在各自的方法中进行排列,以及{{1}中每个项目的动画等其他逻辑}。
如果您只是有一种方法可以在一个地方传递您的测量逻辑并且布局系统记住并且每个项目即将添加并且您应用动画的其他逻辑等时,会不是很简单? / p>
我错过了什么吗?
答案 0 :(得分:9)
是的,你错过了两者之间的细微差别。
在 MeasureOverride
中,父要求孩子想要多大。
在 ArrangeOverride
中,父告诉孩子孩子实际拥有多少空间以及放置它的位置。
这就像你工作的预算或复习时间:你的老板问你想要多少钱,然后大笑并告诉你实际得到多少以及何时获得。就像孩子控制一样,你必须尽力做到最好。
为了对此有所了解,WPF的一个关键点是可扩展的UI。与上面的老板/员工情况非常相似,父母/子女控制的需求需要保持平衡。仅仅因为孩子控制请求一定的大小,这并不意味着父控件有空间给予,因此需要传达给孩子。 OTOH,随着监视器尺寸的增加,你的孩子可能会得到比实际需要更多的房地产。