- 博客(30)
- 资源 (6)
- 收藏
- 关注
原创 Django 在ForeignKey中出现 non-nullable field错误
在django的model中建立了如下的类class UserType(models.Model): name = models.CharField(max_length=40, verbose_name=u'用户类型') ........ def __str__(self): return self.nameclass UserProfile(Ab...
2018-02-26 16:53:36 2732 1
原创 WPF图片放大后模糊的解决方法
WPF中显示图片的方式很多,可以用Image控件来显示图像,或者直接设置一个控件的Background。图片的放大也很简单,直接设置显示图片的控件的Width和Height属性就可以了。 最近一个需求是把一张图片放大十倍左右,我最开始是直接把Image控件的Width和Height乘以放大倍数。 比如这张3824*2494的图片 当把图片放大到8倍左右时,效果是这样的 但是用户对效果
2016-12-20 16:50:41 3580
原创 讨论一下数据文件的存储位置
在写程序时,经常会遇到读写数据文件的情况,比如载入(保存)配置文件等。 一般用户在安装程序时,会选择默认的目录”Program Files”或者”Program Files(x86)”。以前都是直接把数据文件放到程序根目录中,所以数据文件就存储在”Program Files\xxx”文件夹下。 最近才知道这样做其实有可能会产生“Access Denied”异常。想要把数据写入一个合理的位置,
2016-08-08 15:26:20 3497
原创 浅谈WPF中的MVVM
浅谈WPF中的MVVM一些基础知识WPF中的一个重要特性就是数据绑定(data binding),简单的说就是你有一些数据要显示给用户,你可以把数据和xaml进行绑定。WPF由2部分组成:描述GUI布局和效果的xaml文件,和xaml关联的cs文件。如果你想最大程度上的复用你的代码,最好的方法就是使用MVVM(Model、View、ViewModel)模式,这样可以保证你的View部分包含的代
2016-07-29 17:43:40 991
原创 WPF中自动增加行(动画)的TextBox
WPF中自动增加行(动画)的TextBoxWPF中的Textbox控件是可以自动换行的,只要设置TextWrapping属性为”Wrap”即可,但是存在一个问题:Textbox的高度是固定的,当输入文本过多时就会出现如下情况。Textbox虽然没有自动增加高度的属性,但是我们可以通过设置来实现这一个功能。相关xaml代码如下 <Grid VerticalAlignment="Top" Horizon
2016-07-23 21:27:49 2153 1
原创 C#中的垃圾回收
C#中的垃圾回收简单说一下C#中的内存管理、垃圾回收和资源管理为什么需要垃圾回收我们每次在C#中创建一个对象(Object),CLR都会在堆中给Object分配一块内存,但是系统内存总有用完的时候,这是就需要清理一些用过的内存 CLR会判断所有创建出来的对象中,那些不会再被程序用到,然后把它们销毁。任何进程被触发后,都会从物理内存中分配到一块虚拟空间,程序处理的也是虚拟空间而不是物理内存。GC分配
2016-07-23 16:24:24 1106
原创 色子作画 Dice Mosaic
色子作画 Dice Mosaic 创意应该是来自http://my.tv.sohu.com/us/5721245/4911597.shtml,其实这件事可以用PS弄出来,但是比较费时间,所以花了一天时间给他们写了一个小程序。程序参考了这篇文章http://blog.jobbole.com/8563/。程序原理很简单,首
2016-01-28 11:12:41 729 1
原创 WPF动画结束后的行为方式
在WPF中可以使用Animation来完成动画功能,如移动,旋转等,最近写的一个程序需要实现控件的移动,包括自动移动和手动控制。原理很简单,就是改变控件的Margin属性。自动移动就是通过一个ThicknessAnimation的From 和To属性来控制Margin Storyboard sbQue = new Storyboard();
2016-01-26 17:37:01 7757 2
原创 C# WPF MediaElement 停在第一帧
使用WPF中的mediaelement控件开播放视频很容易,直接设置它的Source然后Play就可以了,最近有一个需求是加载视频后,先停在第一帧,一段时间后再根据需求开始播放视频,我开始的想法是加载视频后开始播放,然后马上暂停。 MediaElement _video = new MediaElement(); _video.Source = n
2015-12-26 17:44:11 4579
原创 C#中生成不重复随机数
如果只是生成一个随机数,C#中的Random函数就足够用了,但如果需要生产若干个随机数,且这些数不能重复,就需要自己来写相应的方法了。1.使用List来存储随机数,List.Contain方法来判断生成的随机数是否已经存在以在1-10中取5个不重复的随机数为例 public List Generate1() { Random ran
2015-11-03 08:45:41 10492
原创 WPF 中控件的变形
在WPF中,控件的形变依靠的属性包括LayoutTransform和RenderTransform。两者的区别在于调用LayoutTransform会触发一次它将触发一次新的布局系统处理过程,并强制重新度量和重新排列屏幕上的所有对象,而RenderTransform不会调用系统布局。如果转换通常用于动画处理或向元素应用临时效果则用RenderTransform,而如果要更新完整的应用程序UI,则使
2015-10-14 15:56:20 2523
原创 C#中List的排序
前些天写程序时遇到这样一个问题:在一个List中存储了几个Point类型的坐标,需要根据这些坐标的X轴数值进行排序当时的想法是使用List.OrderBy方法List1.OrderBy(p => p.X); //List1中存储了若干Point变量但是List1并没有像预期的那样,按照X轴坐标排序,后来查了一些资料后,找到了解决办法:声明一个IEnumerableT> 枚举器,然后把Ord
2015-10-10 11:05:10 874
原创 WPF 中控件的遍历
遍历WPF中的控件,最简单的方法时foreach,如Grid中有2个Ellipse和若干个Line,我想找到这两个Ellipse,直接使用foreach就可以了foreach(var v in Grid1.Children){ if(v is Ellipse) .......}但如果是找到这些控件并将其删除,就不能用foreach语句了foreach(var v in Grid1
2015-10-08 17:30:59 6961
原创 Objective C 中 NSString类的用法
字符串的创建类方法 +(id) stringWithString eg: [NSString stringWithString: @"hello"];类方法 +(id) stringWithFormat eg: [NSString stringWithFormat: @"world"];直接声明 eg: NSString *s1 = @"hello world";
2015-09-16 17:43:52 394
原创 WPF中画虚线
在WPF中,画线的方法十分简单,只要声明一个Line然后添加到指定的位置就可以了,但Line并不仅仅只能画一条直线,还可以对直线进行修饰。1.Line.StrokeDashArray属性StrokeDashArray是一个双精度字符串,指示用于勾勒形状轮廓的虚线和间距的样式。2.Line.StrokeDashCap属性获取或设置一个 PenLineCap 枚举值,该值指定如何绘制虚线的两端。3.Li
2015-09-15 15:13:19 17743
原创 C#使用DirectShow播放视频文件
最近在开发一个视频播放软件,主要要求就是循环播放多个视频文件,并且要求两个视频文件切换时,不能有黑屏现象发生。无论是使用Winform的Mediaplayer控件还是WPF的MediaElement控件,在一个视频播放完毕切换到另一个视频时,都会有一个短暂的黑屏情况,于是我就把目光放在了DirectShow上面。下面说一下如何使用DirectShow进行视频播放。使用DirectShow,
2015-09-14 18:03:29 7167 1
原创 使用PropertyGrid是出现无法找到System.String上的构造函数的解决方法
最近在写一个小程序时,遇到这样的位置一个自定义类中,有一个List的属性,用于存储一些IP地址,但是我声明了这个自定义类后,把它关联到PropertyGrid上,在给List添加内容时,出现“无法找到System.String上的构造函数”的错误,如下图所示。此问题的一个取消的解决办法是:在List这个属性定义时,添加: [Editor("System.Windows.Form
2015-09-10 17:05:47 2910
原创 C# 中字体和颜色的XML序列化
C#中提供的XmlSerializer类可以将Object序列化到xml文档,也可以从xml文档中反序列化对象XmlSerializer中的Serialize和Deserialize方法可以用于Object的序列化和反序列化,但Xmlserializer无法直接序列化Font和Color类型数据
2015-08-26 11:42:12 4048
原创 WPF中播放帧序列图
一般我们播放视频时是直接播放相应的视频文件,但有时候需要播放的素材并不是视频文件格式,而是对应的每一帧图片所组成的序列图,此时使用storyboard可以实现序列图的播放。
2015-08-16 23:24:39 5209 2
原创 WPF中的右键菜单ContextMenu
WPF中的右键菜单主要是通过ContextMenu来实现,ContextMenu的使用有两种方式一、.在Resources中声明,在控件中使用。1.在Resources中添加ContextMenu 2.在控件中使用ContextMenu直接在控件的C
2015-08-16 23:08:48 34558 2
原创 解决VS2012中没有ado.net实体数据模型(ADO.NET entity data model)的问题
我使用的是VS2012旗舰版,但是一直在“新建项目”中找不到“ADO.NET实体数据模型” 这个选项,尝试了网络上的各种方法,包括安装entity framework,重置模板,甚至重新安装vs2012,都没有解决,后来在一个英文论坛上找到了解决办法。上图可以看到,新建项目中没有“ADO.NET实体数据模型”这个选项连接是:http://stackoverflow.com/ques
2013-09-05 16:13:44 10644 4
原创 制作大于4g的win7启动盘
以前都是用UltraISO和原版的win7系统制作系统安装优盘,没出现过什么问题,最近把常用的软件集成在系统中在进行封装,制作成了一个install.wim文件,最后用UltraISO制作成一个ISO文件。但是问题出现了,由于wim文件太大了(9G),而UltraISO对源文件的大小有限制,无法制作启动盘。后来在网上找到了一个办法,试了一下,的确有效。 解决办法是:先用Ultra
2013-06-07 10:08:23 1562
原创 gvim中设置字体
不太习惯gvim的默认字体,虽然可以在菜单栏中修改,但是关闭了gvim之后这个修改就失效了,用命令:set guifont也是一样,在网上查了一下才知道需要在_vimrc文件中进行修改,windows下需要在后面加上 set guifont=所选字体:h字体大小 如 set guifont=Monaco:h11
2012-11-08 20:19:06 1424
转载 合并两个有序单链表
把两个有序单链表合并为一个,在网上查了不少相关文章,觉得有一篇写的比较好,但是感觉有两行代码写错了原帖:http://fayaa.com/code/view/12171/我自己改了一下 #include #include #include typedef struct _Node{ int value; struct _Node *next;}Nod
2012-10-30 15:40:33 372
原创 原码,反码,补码,移码
书中关于这方面的定义虽然规范,但是太形式化,不好理解,不过还好有强大的互联网,我按照我的理解写了一下,估计网上有类似的,但是我这次把相关需要注意的地方都用不同颜色进行了标注,更容易看一些。
2012-10-27 14:16:56 306
原创 内连接和外连接
学习数据库中的内连接和外连接,在网上看了很多文章,发现一个比较好的。http://hi.baidu.com/crm1989/blog/item/06c217825d8a2aa16d81196a.html
2012-02-16 19:34:43 256
原创 Web 服务器上的“ISAPI 和 CGI 限制”
HTTP 错误 404.2 - Not Found由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。解决方法:IIS的根节点中右侧主页中有“ISAPI和CGI限制”选项,进入后把asp.net的所有版本设置为“允许”。
2012-02-01 21:51:55 833
转载 如何:设置引用路径(C#、J#)
设置引用路径在“解决方案资源管理器”中选择项目。在“项目”菜单上单击“ 属性”。单击“引用路径”。在“文件夹”文本框中,指定包含程序集的文件夹的路径。若要浏览至该文件夹,请单击“省略号(…)”。单击“添加文件夹”
2011-09-22 11:12:34 2009
原创 “无法连接到WMI 提供程序”的解决办法
点击“计算机管理”中的“SQL Server配置管理器”时会出现“无法连接到WMI 提供程序 请注意,你只能使用SQL Server 配置管理器来管理SQL Server 2005服务器”这样的错误,查到的解决方案是“解决问题的方法:检查一下 windows下的system3
2011-09-21 11:02:07 1628
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人