11 2013 档案

摘要:我用MFC做了4年多,后来转到WPF也做了快5年。对于二者,不敢说精通,但应该算入门。结合自己经历,如果不考虑项目需求,我认为新手学习WPF或许更好点。有3点:1)大家都知道最近几年Motorola,Nokia,Kodak等等都没落了。 原因有很多,其中有一点应该是当时老技术还能继续获取高额利润,对新技术投入不足。放到职场上, VC现在是还有好多行业在用,但是这些行业的代码大部分是维护了好多年的代... 阅读全文
posted @ 2013-11-22 11:12 muzizongheng 阅读(439) 评论(0) 推荐(1) 编辑
摘要:DispatcherObject,Dispatcher,Thread之间的关系我们都知道WPF中的控件类都是从System.Windows.Threading.DispatcherObject继承而来, 而DispatcherObject又在构造时与当前线程的Dispatcher关联起来,CurrentDispatcher如果为null则会主动new一个Dispatcher并且在构造时和当前创建它... 阅读全文
posted @ 2013-11-19 14:07 muzizongheng 阅读(1447) 评论(1) 推荐(1) 编辑
摘要:想要用WPF做出一流的软件界面, 必须要Designer和码农通力合作。理想的情况是平时并行开发,Designer用Expression套件(包括Design和Blend)来设计界面,码农开发Model和ViewModel,后续和xaml一起集成。但是,理想很丰满,现实很骨感。Blend软件毕竟还是小众软件, 很多Designer不愿意放弃自己熟悉的PS,并且Blend支持的滤镜太少,Design... 阅读全文
posted @ 2013-11-15 17:00 muzizongheng 阅读(357) 评论(0) 推荐(0) 编辑
摘要:关于数据类型,有原子类型,列表类型,字典类型等等,而wpf对应控件有contentControl,itemsControl,headerItemsControl等。控件和类型一一对应,控件和类型之间的交换则通过Binding,中间如果类型和控件需要转换可以通过Converter,交换方向则决定了Binding的mode(OneWay,TwoWay...),数据校验则通过ValidationRule... 阅读全文
posted @ 2013-11-14 15:58 muzizongheng 阅读(257) 评论(0) 推荐(1) 编辑
摘要:我们平时自定义WPF控件的方法有:Style,DataTemplate,ControlTemplate, DependencyProperty, CustomControl等几个方法。按照优先顺序应该是从左到右。(所谓Style,这里仅包括Setter)对于搜索框,其组成也就是TextBox+Button(清空),这里我们用CustomControl的方法比较合适。1.创建SearchBox继承于... 阅读全文
posted @ 2013-11-13 14:20 muzizongheng 阅读(733) 评论(0) 推荐(0) 编辑
摘要:(CSDN博客目前不支持外链, 只能纯文字) 设计WPF的UI,一般遵循下面的步骤:1.首先分析数据结构2.根据数据结构选择合理控件3.定制外观具体对于历史记录查看UI, 我们可以得知:1.记录是多条的,2.每条记录包含历史的详细信息说白了,就是2张表,一张存储历史记录的时间、地点、人物,另一张存储对应记录的详细内容。根据上述数据结构,我们可以大概设计出UI:1.外层为ItemsControl2... 阅读全文
posted @ 2013-11-08 11:36 muzizongheng 阅读(855) 评论(0) 推荐(0) 编辑
摘要:Evernote是个强大的工具, 这个伴随了我快4年的工具让我积累好多笔记。但是,如何把evernote(印象笔记)中的笔记发布到博客中呢? 自己空闲时候用python 3写了个工具Evernote2Blog, 现在开放给大家。大家到githb上可以把源码拿下来直接使用, 目前支持发布到csdn和metaweblog类型博客,后续计划支持附件上传及外链。简介:PurposeI create Ev... 阅读全文
posted @ 2013-11-05 13:24 muzizongheng 阅读(1269) 评论(0) 推荐(1) 编辑
摘要:最近在调试项目中的UI时发现几个诡异问题: 1.Grid容器里的GridSplitter设置粗细一样, 但截屏放大后发现线条不一样粗并且明暗不一致,导致打印出来有问题。2.自定义控件的边缘在某些窗体中显示模糊。导致以上问题的原因是:1)UserLayoutRounding为False,导致控件布局相对屏幕若不是整数则不会四舍五入,导致边缘模糊。2)SnapsToDevicePixels默认为fa... 阅读全文
posted @ 2013-11-05 11:18 muzizongheng 阅读(351) 评论(0) 推荐(0) 编辑
摘要:--> 我们项目中对各个系统控件都进行了自定义外观, 比如通过Style。 现象:但是程序实际运行中出现了很诡异的问题, 几个下拉框在屏幕的特定位置会抖动, 具体就是在UI被发大100倍左右明显看到控件的外观有部分上下移动1像素。 具体分析:经过调... 阅读全文
posted @ 2013-11-05 11:17 muzizongheng 阅读(177) 评论(0) 推荐(0) 编辑
摘要:我们在对控件的ErrorTemplate设置后,有时会出现Value ‘’ can not convert。 为什么会出现呢?原因:如果控件的输入值和null不能转换(比如控件要求的是int或float类型, 而输入信息为空),就会触发默认的ExceptionValidationRule。如何自定义出错信息?首先创建自己的ValidationRule继承于ValidationRule,然后设置V... 阅读全文
posted @ 2013-11-05 11:13 muzizongheng 阅读(205) 评论(0) 推荐(0) 编辑
摘要:--> 我们项目中对各个系统控件都进行了自定义外观, 比如通过Style。 现象:但是程序实际运行中出现了很诡异的问题, 几个下拉框在屏幕的特定位置会抖动, 具体就是在UI被发大100倍左右明显看到控件的外观有部分上下移动1像素。 具体分析:经过调... 阅读全文
posted @ 2013-11-05 10:53 muzizongheng 阅读(187) 评论(0) 推荐(0) 编辑
摘要:我们在对控件的ErrorTemplate设置后,有时会出现Value ‘’ can not convert。 为什么会出现呢?原因:如果控件的输入值和null不能转换(比如控件要求的是int或float类型, 而输入信息为空),就会触发默认的ExceptionValidationRule。如何自定义出错信息?首先创建自己的ValidationRule继承于ValidationRule,然后设置V... 阅读全文
posted @ 2013-11-05 10:52 muzizongheng 阅读(221) 评论(0) 推荐(0) 编辑
摘要:最近在调试项目中的UI时发现几个诡异问题: 1.Grid容器里的GridSplitter设置粗细一样, 但截屏放大后发现线条不一样粗并且明暗不一致,导致打印出来有问题。2.自定义控件的边缘在某些窗体中显示模糊。导致以上问题的原因是:1)UserLayoutRounding为False,导致控件布局相对屏幕若不是整数则不会四舍五入,导致边缘模糊。2)SnapsToDevicePixels默认为fa... 阅读全文
posted @ 2013-11-05 10:51 muzizongheng 阅读(305) 评论(0) 推荐(0) 编辑
摘要:--> 我们项目中对各个系统控件都进行了自定义外观, 比如通过Style。 现象:但是程序实际运行中出现了很诡异的问题, 几个下拉框在屏幕的特定位置会抖动, 具体就是在UI被发大100倍左右明显看到控件的外观有部分上下移动1像素。 具体分析:经过调... 阅读全文
posted @ 2013-11-05 10:50 muzizongheng 阅读(673) 评论(0) 推荐(0) 编辑

如果我们时时忙着展现自己的知识, 将何从忆起成长所需的无知?