为什么需要Measure和Arrange两步
答案:2 悬赏:40
解决时间 2021-02-07 08:58
- 提问者网友:残阳碧曼
- 2021-02-07 02:07
为什么需要Measure和Arrange两步
最佳答案
- 二级知识专家网友:末路丶一枝花
- 2021-02-07 02:37
首先UIElement.Measure的参数是可用的空间(Size对象),这个空间通常代表着父控件留给你显示的可用空间,接着UIElement内部的MeasureCore会被调用,该方法会去决定调用MeasureOverride的大小参数。具体过程是先判断大小属性值是否被显示设置,如果是的话,直接使用设置的值,这就是为什么如果你强行设置一个控件的Width和Height后,它总会保持设置的大小(当然如果超出了父控件的规划大小,WPF会根据IsClipToBounds属性来决定是否裁剪它)。当然如果没有被显示设置,那么MeasureCore会根据可用大小和当前控件的属性(比如Margin)来决定最终传入MeasureOverride的可用大小参数。
接着MeasureOverride被调用,这个可以被子控件改写,返回的只会影响UIElement.DesiredSize属性。
这个DesiredSize是计算后的包括Margin的结果,而且被三个条件所制约(优先级由上到下):
Measure中传入的可用大小参数
显示设置的属性大小
MeasureOverride返回的大小
WPF(Windows Presentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。
接着MeasureOverride被调用,这个可以被子控件改写,返回的只会影响UIElement.DesiredSize属性。
这个DesiredSize是计算后的包括Margin的结果,而且被三个条件所制约(优先级由上到下):
Measure中传入的可用大小参数
显示设置的属性大小
MeasureOverride返回的大小
WPF(Windows Presentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。
全部回答
- 1楼网友:兮沫♡晨曦
- 2021-02-07 04:14
首先UIElement.Measure的参数是可用的空间(Size对象),这个空间通常代表着父控件留给你显示的可用空间,接着UIElement内部的MeasureCore会被调用,该方法会去决定调用MeasureOverride的大小参数。具体过程是先判断大小属性值是否被显示设置,如果是的话,直接使用设置的值,这就是为什么如果你强行设置一个控件的Width和Height后,它总会保持设置的大小(当然如果超出了父控件的规划大小,WPF会根据IsClipToBounds属性来决定是否裁剪它)。当然如果没有被显示设置,那么MeasureCore会根据可用大小和当前控件的属性(比如Margin)来决定最终传入MeasureOverride的可用大小参数。
接着MeasureOverride被调用,这个可以被子控件改写,返回的只会影响UIElement.DesiredSize属性。
这个DesiredSize是计算后的包括Margin的结果,而且被三个条件所制约(优先级由上到下):
Measure中传入的可用大小参数
显示设置的属性大小
MeasureOverride返回的大小
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |