<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/openzpc</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; openzpc]]></copyright><item><title><![CDATA[Django 在ForeignKey中出现 non-nullable field错误]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/79378718</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/79378718</guid><author>openzpc</author><pubDate>Mon, 26 Feb 2018 16:53:36 +0800</pubDate><description><![CDATA[在django的model中建立了如下的类class UserType(models.Model):
    name = models.CharField(max_length=40, verbose_name=u'用户类型')
    ........

    def __str__(self):
        return self.name


class UserProfile(Ab...]]></description><category></category></item><item><title><![CDATA[WPF图片放大后模糊的解决方法]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/53765189</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/53765189</guid><author>openzpc</author><pubDate>Tue, 20 Dec 2016 16:50:41 +0800</pubDate><description><![CDATA[WPF中显示图片的方式很多，可以用Image控件来显示图像，或者直接设置一个控件的Background。图片的放大也很简单，直接设置显示图片的控件的Width和Height属性就可以了。 
最近一个需求是把一张图片放大十倍左右，我最开始是直接把Image控件的Width和Height乘以放大倍数。 
比如这张3824*2494的图片 
 
当把图片放大到8倍左右时，效果是这样的 
 
但是用户对效果]]></description><category></category></item><item><title><![CDATA[讨论一下数据文件的存储位置]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/52152287</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/52152287</guid><author>openzpc</author><pubDate>Mon, 08 Aug 2016 15:26:20 +0800</pubDate><description><![CDATA[在写程序时，经常会遇到读写数据文件的情况，比如载入（保存）配置文件等。 
一般用户在安装程序时，会选择默认的目录”Program Files”或者”Program  
Files(x86)”。以前都是直接把数据文件放到程序根目录中，所以数据文件就存储在”Program Files\xxx”文件夹下。 
最近才知道这样做其实有可能会产生“Access Denied”异常。想要把数据写入一个合理的位置，]]></description><category></category></item><item><title><![CDATA[浅谈WPF中的MVVM]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/52042667</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/52042667</guid><author>openzpc</author><pubDate>Fri, 29 Jul 2016 17:43:40 +0800</pubDate><description><![CDATA[浅谈WPF中的MVVM一些基础知识
WPF中的一个重要特性就是数据绑定（data binding），简单的说就是你有一些数据要显示给用户，你可以把数据和xaml进行绑定。
WPF由2部分组成：描述GUI布局和效果的xaml文件，和xaml关联的cs文件。
如果你想最大程度上的复用你的代码，最好的方法就是使用MVVM（Model、View、ViewModel）模式，这样可以保证你的View部分包含的代]]></description><category></category></item><item><title><![CDATA[WPF中自动增加行（动画）的TextBox]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/52006690</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/52006690</guid><author>openzpc</author><pubDate>Sat, 23 Jul 2016 21:27:49 +0800</pubDate><description><![CDATA[WPF中自动增加行（动画）的TextBoxWPF中的Textbox控件是可以自动换行的，只要设置TextWrapping属性为”Wrap”即可，但是存在一个问题：Textbox的高度是固定的，当输入文本过多时就会出现如下情况。Textbox虽然没有自动增加高度的属性，但是我们可以通过设置来实现这一个功能。相关xaml代码如下 <Grid VerticalAlignment="Top" Horizon]]></description><category></category></item><item><title><![CDATA[C#中的垃圾回收]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/52005070</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/52005070</guid><author>openzpc</author><pubDate>Sat, 23 Jul 2016 16:24:24 +0800</pubDate><description><![CDATA[C#中的垃圾回收简单说一下C#中的内存管理、垃圾回收和资源管理为什么需要垃圾回收我们每次在C#中创建一个对象（Object），CLR都会在堆中给Object分配一块内存，但是系统内存总有用完的时候，这是就需要清理一些用过的内存 
CLR会判断所有创建出来的对象中，那些不会再被程序用到，然后把它们销毁。任何进程被触发后，都会从物理内存中分配到一块虚拟空间，程序处理的也是虚拟空间而不是物理内存。GC分配]]></description><category></category></item><item><title><![CDATA[色子作画 Dice Mosaic]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/50598837</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/50598837</guid><author>openzpc</author><pubDate>Thu, 28 Jan 2016 11:12:41 +0800</pubDate><description><![CDATA[色子作画 Dice Mosaic 创意应该是来自http://my.tv.sohu.com/us/5721245/4911597.shtml，其实这件事可以用PS弄出来，但是比较费时间，所以花了一天时间给他们写了一个小程序。程序参考了这篇文章http://blog.jobbole.com/8563/。程序原理很简单，首]]></description><category></category></item><item><title><![CDATA[WPF动画结束后的行为方式]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/50588063</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/50588063</guid><author>openzpc</author><pubDate>Tue, 26 Jan 2016 17:37:01 +0800</pubDate><description><![CDATA[在WPF中可以使用Animation来完成动画功能，如移动，旋转等，最近写的一个程序需要实现控件的移动，包括自动移动和手动控制。原理很简单，就是改变控件的Margin属性。自动移动就是通过一个ThicknessAnimation的From 和To属性来控制Margin
                Storyboard sbQue = new Storyboard();]]></description><category></category></item><item><title><![CDATA[C# WPF MediaElement 停在第一帧]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/50409437</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/50409437</guid><author>openzpc</author><pubDate>Sat, 26 Dec 2015 17:44:11 +0800</pubDate><description><![CDATA[使用WPF中的mediaelement控件开播放视频很容易，直接设置它的Source然后Play就可以了，最近有一个需求是加载视频后，先停在第一帧，一段时间后再根据需求开始播放视频，我开始的想法是加载视频后开始播放，然后马上暂停。
            MediaElement _video = new MediaElement();
            _video.Source = n]]></description><category></category></item><item><title><![CDATA[C#中生成不重复随机数]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/49611359</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/49611359</guid><author>openzpc</author><pubDate>Tue, 03 Nov 2015 08:45:41 +0800</pubDate><description><![CDATA[如果只是生成一个随机数，C#中的Random函数就足够用了，但如果需要生产若干个随机数，且这些数不能重复，就需要自己来写相应的方法了。
1.使用List来存储随机数，List.Contain方法来判断生成的随机数是否已经存在
以在1-10中取5个不重复的随机数为例
        public List Generate1()
        {
            Random ran]]></description><category></category></item><item><title><![CDATA[WPF 中控件的变形]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/49126321</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/49126321</guid><author>openzpc</author><pubDate>Wed, 14 Oct 2015 15:56:20 +0800</pubDate><description><![CDATA[在WPF中，控件的形变依靠的属性包括LayoutTransform和RenderTransform。两者的区别在于调用LayoutTransform会触发一次它将触发一次新的布局系统处理过程，并强制重新度量和重新排列屏幕上的所有对象，而RenderTransform不会调用系统布局。如果转换通常用于动画处理或向元素应用临时效果则用RenderTransform，而如果要更新完整的应用程序UI，则使]]></description><category></category></item><item><title><![CDATA[C#中List的排序]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/49021237</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/49021237</guid><author>openzpc</author><pubDate>Sat, 10 Oct 2015 11:05:10 +0800</pubDate><description><![CDATA[前些天写程序时遇到这样一个问题：在一个List中存储了几个Point类型的坐标，需要根据这些坐标的X轴数值进行排序当时的想法是使用List.OrderBy方法
List1.OrderBy(p => p.X);  //List1中存储了若干Point变量但是List1并没有像预期的那样，按照X轴坐标排序，后来查了一些资料后，找到了解决办法：声明一个IEnumerableT>  枚举器，然后把Ord]]></description><category></category></item><item><title><![CDATA[WPF 中控件的遍历]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/48975415</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/48975415</guid><author>openzpc</author><pubDate>Thu, 08 Oct 2015 17:30:59 +0800</pubDate><description><![CDATA[遍历WPF中的控件，最简单的方法时foreach，如Grid中有2个Ellipse和若干个Line，我想找到这两个Ellipse，直接使用foreach就可以了foreach(var v in Grid1.Children)
{
    if(v is Ellipse)
    .......
}但如果是找到这些控件并将其删除，就不能用foreach语句了foreach(var v in Grid1]]></description><category></category></item><item><title><![CDATA[Objective C 中 NSString类的用法]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/48497491</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/48497491</guid><author>openzpc</author><pubDate>Wed, 16 Sep 2015 17:43:52 +0800</pubDate><description><![CDATA[字符串的创建

类方法  +(id) stringWithString  
eg: [NSString stringWithString: @"hello"];
类方法  +(id) stringWithFormat  
eg: [NSString stringWithFormat: @"world"];
直接声明 
eg: NSString *s1 = @"hello world";]]></description><category></category></item><item><title><![CDATA[WPF中画虚线]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/48468031</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/48468031</guid><author>openzpc</author><pubDate>Tue, 15 Sep 2015 15:13:19 +0800</pubDate><description><![CDATA[在WPF中，画线的方法十分简单，只要声明一个Line然后添加到指定的位置就可以了，但Line并不仅仅只能画一条直线，还可以对直线进行修饰。1.Line.StrokeDashArray属性StrokeDashArray是一个双精度字符串，指示用于勾勒形状轮廓的虚线和间距的样式。2.Line.StrokeDashCap属性获取或设置一个 PenLineCap 枚举值，该值指定如何绘制虚线的两端。3.Li]]></description><category></category></item><item><title><![CDATA[C#使用DirectShow播放视频文件]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/48442751</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/48442751</guid><author>openzpc</author><pubDate>Mon, 14 Sep 2015 18:03:29 +0800</pubDate><description><![CDATA[最近在开发一个视频播放软件，主要要求就是循环播放多个视频文件，并且要求两个视频文件切换时，不能有黑屏现象发生。
无论是使用Winform的Mediaplayer控件还是WPF的MediaElement控件，在一个视频播放完毕切换到另一个视频时，都会有一个短暂的黑屏情况，于是我就把目光放在了DirectShow上面。下面说一下如何使用DirectShow进行视频播放。
使用DirectShow，]]></description><category></category></item><item><title><![CDATA[使用PropertyGrid是出现无法找到System.String上的构造函数的解决方法]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/48346057</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/48346057</guid><author>openzpc</author><pubDate>Thu, 10 Sep 2015 17:05:47 +0800</pubDate><description><![CDATA[最近在写一个小程序时，遇到这样的位置
一个自定义类中，有一个List的属性，用于存储一些IP地址，但是我声明了这个自定义类后，把它关联到PropertyGrid上，在给List添加内容时，出现“无法找到System.String上的构造函数”的错误，如下图所示。


此问题的一个取消的解决办法是：在List这个属性定义时，添加：
 [Editor("System.Windows.Form]]></description><category></category></item><item><title><![CDATA[C# 中字体和颜色的XML序列化]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/48001273</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/48001273</guid><author>openzpc</author><pubDate>Wed, 26 Aug 2015 11:42:12 +0800</pubDate><description><![CDATA[C#中提供的XmlSerializer类可以将Object序列化到xml文档，也可以从xml文档中反序列化对象
XmlSerializer中的Serialize和Deserialize方法可以用于Object的序列化和反序列化，
但Xmlserializer无法直接序列化Font和Color类型数据]]></description><category></category></item><item><title><![CDATA[WPF中播放帧序列图]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/47709343</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/47709343</guid><author>openzpc</author><pubDate>Sun, 16 Aug 2015 23:24:39 +0800</pubDate><description><![CDATA[一般我们播放视频时是直接播放相应的视频文件，但有时候需要播放的素材并不是视频文件格式，而是对应的每一帧图片所组成的序列图，此时使用storyboard可以实现序列图的播放。]]></description><category></category></item><item><title><![CDATA[WPF中的右键菜单ContextMenu]]></title><link>https://blog.youkuaiyun.com/openzpc/article/details/47708989</link><guid>https://blog.youkuaiyun.com/openzpc/article/details/47708989</guid><author>openzpc</author><pubDate>Sun, 16 Aug 2015 23:08:48 +0800</pubDate><description><![CDATA[WPF中的右键菜单主要是通过ContextMenu来实现，ContextMenu的使用有两种方式
一、.在Resources中声明，在控件中使用。
1.在Resources中添加ContextMenu
    
        
            
            
            
        
    
2.在控件中使用ContextMenu
直接在控件的C]]></description><category></category></item></channel></rss>