代码改变世界

Visual Studio使用技巧,创建自己的代码片段

2014-07-16 16:04 by Andrew.Wangxu, 107 阅读, 收藏, 编辑
摘要: 代码片段的使用示例 在编写代码中常会使用代码片段来提高我们的编写代码的效率,如:在Visual Studio中编写一个 for(int i = 0; i < length;i++) { } 这样的代码,我们只需要写 for 然后紧接着按2下”Tab键”即可实现上面的代码片段,如果需要编写一个阅读全文

使用 MVVMLight 消息通知

2014-07-16 16:01 by Andrew.Wangxu, 1449 阅读, 收藏, 编辑
摘要: 在文章的其实我们就说了,MVVMLight的精华就是消息通知机制,设计的非常不错。这个东西在MVVMLight可以说是用的及其的频繁,当 ViewModel请求View要有些改变的时候(比如弹个窗体)那么你在ViewModel里面编写弹窗的代码?那也就违背了MVVM的设计模式 啦,MVVMLight的消息通知可以实现互相调用代码而不耦合!阅读全文

WPF 在事件中绑定命令

2014-07-14 10:54 by Andrew.Wangxu, 1040 阅读, 收藏, 编辑
摘要: 其实这也不属于MVVMLight系列中的东东了,没兴趣的朋友可以跳过这篇文章,本文主要介绍如何在WPF中实现将命令绑定到事件中。 上一篇中我们介绍了MVVMLight中的命令的用法,那么仅仅知道命令是如何构建使用的还不够,很多情况下我们都需要在某个事件触发的时候才去触发命令,所以将命令绑定到事件上是非常有效的做法,下面我们来接着实现将命令绑定到事件中。阅读全文

使用 MVVMLight 命令绑定

2014-07-14 10:53 by Andrew.Wangxu, 168 阅读, 收藏, 编辑
摘要: 首先,如果您希望了解更多的MVVMLight技术或希望有顺序的学习MVVMLight,请查阅目录《MVVMLight 设计模式系列使用文章》。 继上一篇文章的项目,我们实现了数据绑定到界面中。这篇文章我们将实现把命令绑定到按钮上,在XAML中的Button之类的都会有个Command属性可以让我们来绑定命令使用。 首先我们要实现的目标是,在界面中可以点击按钮添加数据,但是最多能添加5条数据,最少保证有1条数据。也就是两个按钮哈(增加数据/删除数据)。界面如下:阅读全文

使用 MVVMLight 绑定数据

2014-07-14 10:52 by Andrew.Wangxu, 460 阅读, 收藏, 编辑
摘要: 如果你还不知道如何在VS中加入MVVMLight的引用,那么建议你先翻阅这篇文章:在VS中安装/使用 MVVMLight 这篇文章主要是介绍如何使用MVVMLight来绑定数据到界面中(View),以此来了解MVVMLight的一些基础的类的用法。 文章底部会提供本示例的源码下载。阅读全文

在VS中安装/使用 MVVMLight

2014-07-14 10:51 by Andrew.Wangxu, 543 阅读, 收藏, 编辑
摘要: 一般来说,我喜欢使用NuGet来获取这些东西,比如Newtonsoft.Json、netlog4、MVVMLight 之类的东西。至于NuGet的使用,以后再说吧。为了直接进入正题,我们这里直接使用VS中的“扩展和更新”来安装MVVMLight组件。 我使用的是VS2013,其他版本的操作也基本上一样。接下来我们将安装MVVMLight到VS中。 安装 MVVMLight Toolkit 为什么说是 MVVMLight Toolkit ?实际上我们一般安装的都是 MVVMLight Toolkit ,这个里面包含了工具就是在VS新建工程的时候你会看见有MVVMLight的模板(而使用 NuGet 来直接引用MVVMLight 则没有这些模板之类的东西,比较干净。),其实两个都是同一个东西,只是一个有工程模板,另一个则是仅仅对MVVMLight相关文件的引用。阅读全文

关于 MVVMLight 设计模式系列

2014-07-14 10:49 by Andrew.Wangxu, 312 阅读, 收藏, 编辑
摘要: MVVM设计模式你可以在WPF、Silverlight、Windows Phone开发中使用,我想至今已经有非常非常多的朋友正在使用MVVM设计模式,尤其是MVVMLight 。 本系列文章以WPF举例,似乎在百度上如果你要查找MVVM相关的某个知识点,难点,给我的感觉资料是比较少的。本篇文章是一个目录导航,我会在最 近一段时间把相关的MVVMLight的知识与技巧发布在我的博客中,并在本文中以目录的方式呈现。希望能为业界贡献一份微薄之力,帮助到正在看此文的 你。 有不足之处还望各位Coder们指导纠正,同时欢迎补充 or 投稿MVVMlight系列的文章。阅读全文

DoBox 下载

2014-01-22 09:53 by Andrew.Wangxu, 168 阅读, 收藏, 编辑
摘要: 一款简单十分好用的办公助手,用于记录您接下来需要做的事情。待办事项小工具 - DoBox阅读全文

Visual Studio使用技巧,创建自己的代码片段

2013-12-02 14:11 by Andrew.Wangxu, 2310 阅读, 收藏, 编辑
摘要: 1.代码片段的使用示例 在编写代码中常会使用代码片段来提高我们的编写代码的效率,如:在Visual Studio中编写一个 for(int i = 0; i < length;i++) { }阅读全文

List 和 ObservableCollection的区别

2013-12-02 13:54 by Andrew.Wangxu, 496 阅读, 收藏, 编辑
摘要: 在WPF中绑定一个集合的时候,比如:DataGrid.ItemsSource = new List(); 这样的操作,会存在当数据行新增或者删除的时候不会得到及时的通知来刷新界面,而需要重新绑定DataGrid.ItemsSource = null; 再次重新绑定来实现。这样的工作效率比较低,另外使用起来也比较麻烦(在MVVM设计模式中)比较明显。阅读全文

HTTP 错误 404.3 解决

2013-09-28 11:06 by Andrew.Wangxu, 197 阅读, 收藏, 编辑
摘要: 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。的错误解决阅读全文

WPF 跟踪命令和撤销命令(复原)

2013-09-21 19:10 by Andrew.Wangxu, 914 阅读, 收藏, 编辑
摘要: WPF 命令模型缺少一个特性是复原命令。尽管提供了一个 ApplicationCommands.Undo 命令,但是该命令通常被用于编辑控件(如 TextBox 控件),以维护它们自己的 Undo 历史。如果希望支持应用程序范围内的 Undo 特性,就需要在内部跟踪以前的状态,并且触发 Undo 命令时还原该状态。 遗憾的是,扩展 WPF 命令系统并不容易。相对来说没有几个入口点可以使用连接自定义逻辑。为了创建通用、可重用的 Undo 特性,需要创建一组全新的“能够撤销命令的”命令类,以及一个特定类型的命令绑定。我们需要设计自己的用于跟踪和复原命令的系统,使用 CommandManager 类保存命令历史。下图显示了本文的例子。在该例子中,窗口包含两个文本框和一个列表框,可以自由地在这两个文本框中输入内容,而列表框则一直跟踪在这两个文本框中发生的所有命令。可以通过单击 ‘复原’ 按钮还原最后一个命令。阅读全文

WPF 自定义命令 以及 命令的启用与禁用

2013-09-21 13:48 by Andrew.Wangxu, 1109 阅读, 收藏, 编辑
摘要: 自定义命令: 在WPF中有5个命令类(ApplicationCommands、NavigationCommands、EditingCommands、ComponentCommands 以及 MediaCommands)中存储命令,显然不会为应用程序提供所有可能需要的命令,幸运的是,定义自己的命令非常容易。需要的全部工作仅仅是实例化一个新的 RoutedUICommand 对象 即可。 RoutedUICommand 类提供了几个构造函数。虽然可以创建没有任何附加信息的RoutedUICommand对象,但几乎总是希望提供命令名称、命令文本以及属性类型。此外,可能希望为 InputGestures 集合提供快捷键。阅读全文

WPF 本地化(多语言)

2013-09-19 14:07 by Andrew.Wangxu, 1538 阅读, 收藏, 编辑
摘要: 如果你的程序需要本地化,考虑的因素诸多,例如:当文本改变后,控件的当前高度,宽度 是否合适。所在的位置是否合适、字体、布局是否合适?如果已经构建了一个真正自适应的布局,就不会有问题。用户界面应当能够调整自身以适应动态的内容。下面是建议采用的一些WPF设计原则: 不要使用硬编码的宽度或高度 将Window.SizeToContent 属性设置为Width、Height 或 WidthAndHeight,从而使窗口的尺寸能够根据需要进行变化(根据窗口结构的不同,并不总需要这样,但有时候会很有用)。 使用 ScrollViewer 控件包装大量的文本阅读全文

List<T>与ObservableCollectio<T> 的区别

2013-09-17 22:12 by Andrew.Wangxu, 119 阅读, 收藏, 编辑
摘要: 在WPF中绑定通常会使用ObservableCollection,为什么不使用List呢? 简单是解释:List不包含值变通知功能,所以绑定了也许会出现绑定的数据与呈现数据不一致的问题。 通常绑定会使用 ObservableCollection。 因为 List没实现 INotifyCollectionChanged ,所以它只是一个普通的容器。~阅读全文