04 2012 档案

摘要:最近用MVVM编写UI,Command是个好东西,其调用地点也较灵活,根据当前实际使用情况,将使用频率比较高的几个调用点总结一下,相关使用实例会在后续总结中给出:1. Xaml中直接通过控件的Command Binding调用;2. Xaml中使用“EventToCommand”调用,其好处是可以通过控件的各种事件转换为Command进行调用,较常用于窗体初始化事件或没有相关Command的控件;3. Code-Behind中通过控件的DataContext找到相应ViewModel ,对该ViewModel 的相关Command进行调用;4. 在ViewModel的Manager中由Mana 阅读全文
posted @ 2012-04-20 16:29 JunBird 阅读(2913) 评论(0) 推荐(1)
摘要:声明:本文内容主要摘译自Nauman Leghari的Using log4net。请在这里下载示例代码 1 简介1.1 Log4net的优点:几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。经验表明,日志记录往往是软件开发周期中的重要组成部分。它具有以下几个优点:它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug;一旦在程序中加入了Log 输出代码,程序运行过程中就能生成并输出日志信息而无需人工干预。另外,日志信息可以输出到不同的地方(控制台 阅读全文
posted @ 2012-04-14 17:50 JunBird 阅读(330) 评论(0) 推荐(0)
摘要:为了在屏幕上绘制一个图形,WPF需要知道你想要为图形填充什么颜色以及如何绘制它的边框。WPF提供了一些Brush类型支持各种绘图样式。Pen类增加这些笔刷以提供边框的厚度和样子。在这一章,我们将要看一下各种类型的笔刷和钢笔类。可是,由于所有的笔刷和钢笔类最终是关于指出在哪里使用哪一种颜色,以及如何将它们联合在一起,我们必须首先看一下眼色是如何被表示的。7.3.1 颜色WPF在System.Windows.Media命名空间中使用了Color结构来表示一种颜色。注意到如果你以往工作于Windows Forms、ASP.NET或GDI+,Color机构是不同于那些技术使用的机构的——它们使用了Sy 阅读全文
posted @ 2012-04-12 12:46 JunBird 阅读(1075) 评论(0) 推荐(0)
摘要:List <T>是ArrayList的泛型,ArrayList里边的数据类型是object,List <T>里边的是具体的某种类型,ArrayList类似于向量,可以存储不同的数据类型在一个数组里边(转换为了object)。 一般使用的时候尽量使用List <T>,因为ArrayList存取都要进行一次转换。 []类型的数组类似于List <T>,不同的是[]是定长的,而List <T>是长度可变的数组ICollection主要针对静态集合;IList主要针对动态集合 IEnumerable <T>继承自IEnumerab 阅读全文
posted @ 2012-04-10 00:22 JunBird 阅读(4628) 评论(0) 推荐(0)
摘要:我们通常会碰到在DataGird的第一列(或某一列)自动显示该行行号的需求,如下图分析这个问题我们需要两步走向数据源添加数据时自动显示行号从数据源删除数据时自动更新所有行号首先做一些准备工作,我们需要为DataGird自定义第一列的单元格<data:DataGridTemplateColumn> <data:DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock /> </DataTemplate> </data:DataGridTemplateColumn. 阅读全文
posted @ 2012-04-09 19:24 JunBird 阅读(5954) 评论(0) 推荐(0)
摘要:Nerdr.com上的一篇文章说”Stackoverflow让黑客变懒了“(不好意思,没找到作者名字),文章大意是,作为一个黑客,在有Stackoverflow之前,他是这样寻找答案的:有了一个拉风想法试着实现它遇到困难阅读这个领域以及语言相关的书籍找到点什么尝试,失败继续阅读更多,失败更多如此重复直到最后找到答案,同时在这个过程中,你会学到10个以前根本不知道的新知识,而这些新知识将会促成下一个拉风的项目。但是自从有了Stackoverflow,这一切都变了:有了一个拉风想法试着实现它遇到苦难去StackOverflow发帖泡杯茶刷新问题页面从答案中复制粘贴代码一边啜着茶一边编译代码如此重复 阅读全文
posted @ 2012-04-09 13:21 JunBird 阅读(332) 评论(0) 推荐(0)
摘要:在处理一些数据时,我们希望能用“四舍五入”法实现,但是C#采用的是“四舍六入五成双”的方法,如下面的例子,就是用“四舍六入五成双”得到的结果:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->double d1 = Math.Round(1.25, 1);//1.2double d2 = Math.Round(1.24, 1);//1.2double d3 = Math.Round(1.26, 1);//1.3double d4 = Math. 阅读全文
posted @ 2012-04-07 15:33 JunBird 阅读(33963) 评论(2) 推荐(1)
摘要:如果单纯在Button中使用命令绑定,则其本身就带有Command属性,但是扩展到任何其它控件,就得稍微复杂一点。依赖于我们拥有如下两个dll:Microsoft.Expression.Interactions.dllSystem.Windows.Interactivity.dll这两个dll在装完毕expression blend后会出现在引入列表中。不过,即便我们没有装blend,也可以直接从其它地方COPY过来。 阅读全文
posted @ 2012-04-07 14:47 JunBird 阅读(1220) 评论(0) 推荐(0)
摘要:WPF中的控件模板: WPF的每个控件都有一个默认的模版,是对控件的描述,我们可以自定义模板来体会控件的默认模板,打造个性化控件。 于Style不同,Style智能改变控件的已有属性值来控制,但是模板可以改变控件的内部结构(视觉树)。 首先是声明一个ControlTemplate对象,对其进行相应的配置,将ControlTemplate赋值给控件的 WPF中的控件模板: WPF的每个控件都有一个默认的模版,是对控件的描述,我们可以自定义模板来体会控件的默认模板,打造个性化控件。 于Style不同,Style智能改变控件的已有属性值来控制,但是模板可以改变控件的内部结构(视觉树)。 ... 阅读全文
posted @ 2012-04-07 12:43 JunBird 阅读(2192) 评论(0) 推荐(0)
摘要:千万不要认为WPF中的数据绑定会很复杂,尽管它的确比Winform程序灵活多了,但其本质是不变的,特别是ComboBox控件,我们知道在Winform中对该控件的有两个专为数据绑定而设定的属性DisplayMenber和ValueMenber,分别绑定用于显示和用于存放用户选择值两个字段,最典型的应用类似于key-value形式的数据字段,如学生表中的学 千万不要认为WPF中的数据绑定会很复杂,尽管它的确比Winform程序灵活多了,但其本质是不变的,特别是ComboBox控件,我们知道在Winform中对该控件的有两个专为数据绑定而设定的属性——DisplayMenber和ValueM... 阅读全文
posted @ 2012-04-07 11:39 JunBird 阅读(3304) 评论(0) 推荐(0)
摘要:WPF中StringFormat的用法可以参照C#中string.Format的用法1、C#中用法:格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元)示例:string.Format("{0:C}",0.2) 结果为:¥0.10 (英文操作系统结果:$0.10)默认格式化小数点后面保留两位小数,如果需要保留一位或者更多,可以指定位数string.Format("{0:C1}",10.05) 结果为:¥10.1 (截取会自动四舍五入)格式化多个Object实例 string.Format("会员价:{0:C},优惠价{1 阅读全文
posted @ 2012-04-06 15:08 JunBird 阅读(8804) 评论(1) 推荐(2)