最近写一个WPF项目,中间有一个实现在画布中排列的问题(整齐摆列几行几列的算法)。本人逻辑有点差啊,废了老大功夫
才实现,也没啥就牛逼的,就是拿出来分享一下,给需要的同学节省点时间,如果有用的话别忘赞一下啊!^^,谢谢!
代码如下:
double BetwDistance = 0;//两个之间的间距
double LDistance = 100;//整体离左的距离
double TDistance = 100;//整体离右的距离
1 valueRowCount =2;//设为多少,就会显示几行 2 if (i % valueRowCount == 0) 3 { 4 tempTarget.X = (i / valueRowCount) * (_elementTidyWidth + addWH) + LDistance; 5 tempTarget.Y = (i % valueRowCount) * ((_elementTidyHeight + BetwDistance)) + TDistance; 6 } 7 else 8 { 9 tempTarget.X = (int)(i / valueRowCount) * (_elementTidyWidth + addWH) + LDistance; 10 tempTarget.Y = (i % valueRowCount) * ((_elementTidyHeight + BetwDistance)) + TDistance; 11 } 12 13 Canvas.SetLeft(voiBlock, tempTarget.X); 14 Canvas.SetTop(voiBlock, tempTarget.Y);
效果如下