详解Margin设置
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。