博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF DesiredSize & RenderSize
阅读量:4570 次
发布时间:2019-06-08

本文共 925 字,大约阅读时间需要 3 分钟。

DesiredSize

DesiredSize介绍

关于DesiredSize的介绍,可以查看最新微软文档对的介绍

DesiredSize,指的是元素在布局过程中计算所需要的大小。

通过调用方法计算得到DesiredSize

1   element.Measure(availableSize); 2   var desiredSize = element.DesiredSize;

DesiredSize的几个概念:

  • DesiredSize是布局过程中使用的
  • DesiredSize是一个只读属性
  • 除了宽高(Width/Height,Max/Min Width/Height)会影响DesiredSize的值,margin也会直接影响DesiredSize

DesiredSize的宽高

如下是对DesiredSize的宽高测试Demo:

1 
9
10
11
12

根据如上Demo,可以得知此Demo中,

DesiredSize.Width=Width+水平方向Margin值,

DesiredSize.Height=Height+竖直方向Margin值

所以如果只是获取控件的实际宽高,不应该通过DesiredSize.Width/Height获取。

RenderSize

是布局结束后元素的大小,与ActualHeight、ActualWidth类似。

所以,WPF布局时,先计算子元素的大小(DesiredSize),然后再得到最终渲染后的父元素大小(RenderSize)。

可以在OnRender和GetLayoutClip方法执行后,获取下最新的RenderSize,确认是否预期结果。

关于RenderSize的大小变化,可以监听事件

 protected internal virtual void OnRenderSizeChanged (System.Windows.SizeChangedInfo info); 

转载于:https://www.cnblogs.com/kybs0/p/9771756.html

你可能感兴趣的文章
Word打不开老提示进入“安全模式”怎么办
查看>>
HTTP协议分析及攻防方法
查看>>
编程我们学到了什么?
查看>>
面向过程和面向对象的对比(转)
查看>>
206. 反转链表
查看>>
622. 设计循环队列
查看>>
MCMC 、抽样算法与软件实现
查看>>
Java开源工具 网站开发工具清单
查看>>
POJ 1442 Black Box
查看>>
php array_multisort对数据库结果多个字段进行排序
查看>>
关于大型网站技术演进的思考(十六)--网站静态化处理—前后端分离—下(8)...
查看>>
Python中dict详解
查看>>
[LeetCode][JavaScript]House Robber
查看>>
java经典算法四十题
查看>>
(转载) MTK flash
查看>>
Python 序列化之json、pickle
查看>>
python3 多线程笔记
查看>>
无尽的控件-GridView复合表头
查看>>
Luogu4726 【模板】多项式指数函数(NTT+多项式求逆)
查看>>
e3mall商城的归纳总结2之认识dubbo、zookeeper
查看>>