详解Margin设置

yiyecaodu 2016-09-14 11:45:22
Grid(GWidth、GHeight )中有一个Button(BWidth、BHeight ),设置Margin(Left、Up、Right、Down),则Button与Grid间的距离是LeftValue、UpValue、RightValue、DownValue。

计算边界值,分以下几种情况:

1、如果Button横向尺寸与Margin横向尺寸之和小于Grid横向尺寸,即BWidth+Left+Right

LeftValue=(GWidth+Left-BWidth-Right)/2;Right=LeftValue+Left-Right

高度方向(UpValue、DownValue)计算同理:

UpValue=(GHeight +Up-BHeight -Down)/2;DownValue=UpValue+Up-Down。

2、如果Button横向尺寸与Margin横向尺寸之和大于Grid横向尺寸,即BWidth+Left+Right>GWidth 则:

尺寸的优先级为UpValue/LeftValue>BHeight/BWidth>DownValue/RightValue

2.1如果Left+BWidth>GWidth 则:保证Left值,且Button部分在Grid之外。即LeftValue=Left,RightValue=0。高度方向同理。

2.2如果Left+BWidthGWidth时,LeftValue=Left,Right=GWidth-BWidth-Left。

...全文
1039 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
muzizongheng 2016-09-21
  • 打赏
  • 举报
回复
没看懂..看了半天是分享?
龍过鸡年 2016-09-16
  • 打赏
  • 举报
回复
你的问题是什么?

8,737

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧