08 2015 档案

摘要:本篇博客将介绍C#中Settings的使用。首先介绍一个桌面程序中的例子,当我们新安装一个软件,软件启动后会有例如新手指导等窗体弹出来,每次都需要自己去关闭它。当然这些软件都会提供例如不再显示等功能。当选择不再显示功能后,这些窗体以后再也不显示了。对于这些设置,可以采用下面的一些方法来存储,自定义X... 阅读全文
posted @ 2015-08-20 11:45 Yang-Fei 阅读(18031) 评论(0) 推荐(1)
摘要:当我们需要一个程序长期运行,但是不需要界面显示时可以考虑使用Windows Service来实现。这篇博客将简单介绍一下如何创建一个Windows Service,安装/卸载Windows Service。新建Windows Service项目:删除自动生成的Service1.cs文件,新建Wind... 阅读全文
posted @ 2015-08-18 21:21 Yang-Fei 阅读(989) 评论(0) 推荐(2)
摘要:在前面的一篇博客"WPF 自定义Metro Style窗体",展示了如何创建一个类似于Metro Style的Window,并在程序中使用。但是这个窗体不能够自由的改变大小。今天的博客中将展示如何创建一个可以通过拖拽来改变大小的Metro Style窗体。实现思路,在Windows ControlT... 阅读全文
posted @ 2015-08-17 18:06 Yang-Fei 阅读(8497) 评论(1) 推荐(3)
摘要:这篇博客将介绍EF Code First中如何使用SQL Compact。SQL Compact是微软推出的免费的关系型数据库,目前最新版本是SQL Compact 4.0。微软的开发工具VS 2010/SQL Server 2008及后续版本中均不带有SQL Compac 3.5/4.0t数据库查... 阅读全文
posted @ 2015-08-16 18:57 Yang-Fei 阅读(1913) 评论(2) 推荐(0)
摘要:在WPF桌面程序中,当我们想构建一个统一的UI表现时(在不同操作系统下,显示效果一致),此时我们就需要使用到WPF中的样式和模板技术。简单来说,如果我们需要简单的给一个Button设置宽,高,Margin等,可以使用Style来指定这一系列的属性。可以把Style理解为一个属性的集合。如果需要完全改... 阅读全文
posted @ 2015-08-15 20:17 Yang-Fei 阅读(3087) 评论(3) 推荐(5)
摘要:在WPF中,通常会选用DataGrid/ListView进行数据展示,如果数据量不多,可以直接一个页面显示出来。如果数据量很大,2000条数据,一次性显示在一个页面中,不仅消耗资源,而且用户体验也很糟糕。这篇博客将介绍如何创建一个分页控件。为了简单起见,这个分页控件目前只有 首页/上一页/下一页/末... 阅读全文
posted @ 2015-08-12 17:04 Yang-Fei 阅读(20431) 评论(5) 推荐(15)
摘要:在进行列表信息展示时,WPF中提供多种列表可供选择。这篇博客将对WPF ItemsControl, ListBox, ListView进行比较。相同点:1. 这三个控件都是列表型控件,可以进行列表绑定(ItemsSource);2. 这三个控件均使用ItemsPresenter来展示列表信息;不同点... 阅读全文
posted @ 2015-08-11 11:59 Yang-Fei 阅读(29438) 评论(7) 推荐(18)
摘要:这篇博客将分享在WPF中如何创建一个带Title的TextBox。首先请看一下最终的效果,实现思路:使用TextBlock+TextBox来实现,TextBlock用来显示Title。实现代码,TitleTextBox [TemplatePart(Name = TitleTextBlockKe... 阅读全文
posted @ 2015-08-10 20:54 Yang-Fei 阅读(3759) 评论(0) 推荐(3)
摘要:通常我们在ListView中展示一列同类数据,例如城市名称。不过可以对ListView的DataTemplate稍作修改,让其显示层叠信息。例如:需要在ListView中显示省份和省份对应的城市名称。首先准备基础类,City类: public class City : ViewModeBase... 阅读全文
posted @ 2015-08-10 17:24 Yang-Fei 阅读(975) 评论(0) 推荐(3)
摘要:在手机App中,如果有一个展示信息的列表,通常会展示很少一部分,当用户滑动到列表底部时,再加载更多内容。这样有两个好处,提高程序性能,减少网络流量。这篇博客中,将介绍如何在WPF ListView中实现这个功能。实现思路:为ListView新增一个附加属性,用来绑定当下拉到底部时触发增加列表内容的功... 阅读全文
posted @ 2015-08-10 16:13 Yang-Fei 阅读(6075) 评论(2) 推荐(3)
摘要:这篇博客将展示WPF DataBinding的内容。首先看一下WPF Data Binding的概览,Binding Source可以是任意的CLR对象,或者XML文件等,Binding Target需要有依赖属性。这样便可以进行Data Binding。请看下面的示例,C# public p... 阅读全文
posted @ 2015-08-09 14:59 Yang-Fei 阅读(1224) 评论(0) 推荐(4)
摘要:为了使WPF程序在不同版本的操作系统上保持一致的显示效果,我们需要重写WPF控件样式。这篇博客将展示如何创建一个Metro Style的WPF窗体。首先先看一下最终窗体的效果图,通过截图我们可以看出来这个窗体由两部分组成,顶部为最小化和关闭按钮,其他区域为窗体的显示区域。请看下面的具体实现代码,Me... 阅读全文
posted @ 2015-08-07 22:16 Yang-Fei 阅读(8384) 评论(2) 推荐(7)
摘要:这一篇博客是关于如何使用附加属性和创建自定义附加属性的。1. 附加属性使用,WPF中对附加属性使用最多的莫过于对控件布局时设置控件的位置,例如在Canvas中有一个Rectangle, Ellipse, Button,我们需要设置它们的位置, ... 阅读全文
posted @ 2015-08-05 23:17 Yang-Fei 阅读(1693) 评论(0) 推荐(2)
摘要:接触WPF有一段时间了,现在做的项目也是WPF相关的。所以决定写一个WPF QuickStart系列的文章。也是自己对WPF学习的总结,如果对你有帮助,就非常棒了。因为不善言辞,所以尽量以WPF示例和代码注释的形式来写这一个系列的博客。当中也会有一些自己对WPF特性的理解写下来,锻炼自己的文笔和语言... 阅读全文
posted @ 2015-08-05 23:17 Yang-Fei 阅读(373) 评论(0) 推荐(2)
摘要:首先MVVM设计模式的结构,Views: 由Window/Page/UserControl等构成,通过DataBinding与ViewModels建立关联;ViewModels:由一组命令,可以绑定的属性,操作逻辑构成;因为View与ViewModel进行了解耦,我们可以对ViewModel进行Un... 阅读全文
posted @ 2015-08-04 15:31 Yang-Fei 阅读(4980) 评论(2) 推荐(5)
摘要:日常开发中,我们需要将一些Web页面嵌入到桌面客户端软件中。下面我们使用CefSharp嵌入浏览器来实现。 首先先介绍一下CefSharp嵌入式浏览器,它是基于Google浏览器的一个组件,我们可以在WPF/WinForm客户端软件中使用它。CefSharp的代码托管在GitHub上,.NET (W 阅读全文
posted @ 2015-08-03 16:47 Yang-Fei 阅读(17668) 评论(13) 推荐(9)
摘要:最近在一次项目中使用到了C#中命名管道,所以在此写下一篇小结备忘。为什么要使用命名管道呢?为了实现两个程序之间的数据交换。假设下面一个场景。在同一台PC上,程序A与程序B需要进行数据通信,此时我们就可以使用命名管道技术来实现。命名管道的两个对象。NamedPipeClientStream 和 Nam... 阅读全文
posted @ 2015-08-02 20:47 Yang-Fei 阅读(15895) 评论(7) 推荐(10)