最近写一个WPF项目,中间有一个实现在画布中排列的问题(整齐摆列几行几列的算法)。本人逻辑有点差啊,废了老大功夫
才实现,也没啥就牛逼的,就是拿出来分享一下,给需要的同学节省点时间,如果有用的话别忘赞一下啊!^^,谢谢! 代码如下:

double BetwDistance = 0;//两个之间的间距
        double LDistance = 100;//整体离左的距离
        double TDistance = 100;//整体离右的距离

 valueRowCount =;//设为多少,就会显示几行
if (i % valueRowCount == )
{
tempTarget.X = (i / valueRowCount) * (_elementTidyWidth + addWH) + LDistance;
tempTarget.Y = (i % valueRowCount) * ((_elementTidyHeight + BetwDistance)) + TDistance;
}
else
{
tempTarget.X = (int)(i / valueRowCount) * (_elementTidyWidth + addWH) + LDistance;
tempTarget.Y = (i % valueRowCount) * ((_elementTidyHeight + BetwDistance)) + TDistance;
} Canvas.SetLeft(voiBlock, tempTarget.X);
Canvas.SetTop(voiBlock, tempTarget.Y); 效果如下

WPF 在画布中布局N行N列的实现方法的更多相关文章

  1. 【opencv基础】OpenCV从Mat中提取某些行或列

    这两个函数返回的是指向原矩阵内部位置的指针,类似于浅拷贝: code cv::Mat align_mean(cv::Mat mean, cv::Rect facebox, float scaling_ ...

  2. 【转】MySQL存储过程中使用动态行转列

    MySQL存储过程中使用动态行转列 最近做项目关于数据报表处理,然而数据库存储格式和报表展现形式不同,需要进行一下行转列的操作,在做上一个项目的时候也看了一下,但是后来换了读取方式,也就没深入研究这个 ...

  3. pandas DataFrame行或列的删除方法

    pandas DataFrame的增删查改总结系列文章: pandas DaFrame的创建方法 pandas DataFrame的查询方法 pandas DataFrame行或列的删除方法 pand ...

  4. 用JavaScript,获取Table中指定的行、列

    前言: 先要谢谢George Wing的慷慨赠书<悟透JavaScript>,让我更加感受到了技术交流的重要性,呵呵~ 进入正题,面试题中有一题:如何通过JavaScript获取Table ...

  5. SQL Server中使用PIVOT行转列

    使用PIVOT行转列 1.建表及插入数据 USE [AdventureDB] GO /****** Object: Table [dbo].[Score] Script Date: 11/25/201 ...

  6. excel中怎么将行转换为列及列转换成行

    操作方法 01 选中要把行转换为列的数据.然后点击键盘上的ctrl+c. 02 在需要放置的单元格上,右键点击,然后点击菜单上的‘选择性粘贴’. 03 在弹出的窗口上,点击勾选上‘转置’.点击确定按钮 ...

  7. WPF datagrid/gridcontrol 中选中多行,复制粘贴到excel或其他文本编辑器中

    wpf中 data grid 开启自带的选中,然后复制,可以到excel中直接粘贴,在某些业务场景中很实用,方便.开启也很简单: SelectionMode="Row" 加上这个, ...

  8. 如何在WPF的DiagramControl中绘制一个类型数据关系图的方法

    https://www.devexpress.com/Support/Center/Question/Details/T418156 虽然是在wpf中,但是在win中也可以调用wpf控件,这个太棒了, ...

  9. 转Delphi中Memo显示行号列号

    http://www.alonely.com.cn/Delphi/20160814/8912.html 实例说明本例是个光标应用的简单技巧,希望通过这个例子的学习后能举一反三.Delphi中像这样简单 ...

随机推荐

  1. ProcMon启用调试符

    1.设置 _NT_SYMBOL_PATH 如果在 _NT_SYMBOL_PATH 环境变量中提供了正确的?symsrv?语法,则常见的 Mircoroft 调试工具将使用 SymSrv 技术.这些工具 ...

  2. 【Android Studio使用教程3】Android Studio的一些设置 体验更好了

    Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面. Settings --> Appearance --> T ...

  3. VS2008/MVC2 项目迁移到 VS2013/MVC4

    第1步.MVC2 => MVC3 手动处理可以参考这个: http://www.asp.net/whitepapers/mvc3-release-notes#upgrading 使用工具 ASP ...

  4. [转]div内容底部对齐

    本文转自:http://blog.csdn.net/hellomy/article/details/5889833 <html> <head> <meta http-eq ...

  5. hdu 3652 打表

    思路:直接打表 #include<cstdio> #include<vector> #include<cmath> #include<iostream> ...

  6. hdu1331 按着题目的公式直接写

    #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #d ...

  7. Macbook之用brew安装Python

    1. brew install python 2.If you don't have ~/.bash_profile, add ~/.bash_profile by touch ~/.bash_pro ...

  8. jQuery滚动时动态加载页面内容

    var loading = false; $(window).scroll(function(){ if((($(window).scrollTop()+$(window).height())+250 ...

  9. Quartz.net官方开发指南系列篇

    Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中.它提供了巨大的灵活性而不牺牲 ...

  10. ASP.NET MVC 4框架揭秘(微软6任MVP,高级软件顾问蒋金楠新作)

    http://www.cnblogs.com/artech/