做了一段时间的Silverlight开发,已经厌倦了Silverlight默认的千篇一律的初始屏幕,突然想打造一个自己的Silverlight初始屏幕。网上虽然有一些资料,但是大多跟MSDN上的内容差不多;MSDN对Silverlight初始屏幕也有比较全面的讲解,不过有点太理论...
2011-07-14 13:02 (689) (0)
大家都知道Toolkit有一系列的Theme主题控件,Toolkit的示例中也介绍了它的一些用法,但是那个示例的用法太繁琐,而且不是很实用,特别是在绑定的时候;下面我将介绍主题控件的更实用的用法,它可以使我们更方便的使用和更换主题。一、创建示例项目首先,在VS或者Blend中创建一个Silverlight应用程序为了演示动态更改自定义主题的效果我们添加2个自定义的主题,在Silverlight应用程序项目中添加Themes文件夹,在此文件夹下添加资源文件Theme.xaml,内容如下:...
2011-05-30 10:05 (1025) (0)
WPF自打出生就没摆脱Winform的影子,在xp/2003中默认的窗体和控件的样式简直惨不忍睹,因此我们往往需要花费大部分精力来定义样式和模板;而SL默认的窗体和样式就要好多了,要求不高的话也能凑合用了。如果能直接将SL的样式转换为WPF,也能省不少事了,下面我将介绍如何将ChildWindow效果移植到WPF中:...
2011-05-17 10:34 (1601) (6)
在开发Wpf/SL应用时,经常会遇到不同页面和窗体之间的参数传递的问题。对于这类问题,我们一般通过事件实现数据传递,也可以定义全局静态变量来进行数据共享。这里我们则使用了另外一种非常高效而优雅的方法来进行消息传递,这里我称之为Messenger,事实上,Messenger并非mvvm的专利,我们可以把它看作一种设计模式,你可以在其它.net程序中使用它。 一、Mvvm Light Messenger是什么 通过Mvvm Light源码我们可以知道Messenger的实现细节,如果你现在还不能理解这些...
2011-05-10 17:42 (2738) (15)
事件是WPF/SL应用程序中UI与后台代码进行交互的最主要方式,与传统方式不同,mvvm中主要通过绑定到命令来进行事件的处理,因此要了解mvvm中处理事件的方式,就必须先熟悉命令的工作原理。 一、RelayCommand命令WPF/SL命令是通过实现 ICommand 接口创建的。 ICommand 公开两个方法(Execute 及 CanExecute)和一个事件(CanExecuteChanged)。 Execute 执行与命令关联的操作。CanExecute 确定是否可以在当...
2011-05-06 13:28 (4207) (6)
Mvvm的框架的实现依赖与完善的数据绑定机制,因此熟练使用mvvm就必须熟练掌握WPF/SL的数据绑定机制。下面我们看看mvvm数据绑定与传统的.net控件使用方式有什么不一样;一、给控件属性赋值首先我们定义个公有的普通属性:public string TextProperty { get; set; }传统的.net控件的赋值都是在页面的后台代码中通过以下方式实现: this.TextBox1 = TextProperty;数据绑定方式需要在Xaml中的Text属性中添加绑定语法:都很简单,看起来都差不多...
2011-05-06 11:29 (5507) (13)
本章节,我将通过示例介绍如何搭建mvvmlight开发环境。示例中的我会针对wpf代码进行介绍,SL下有区别的地方我会注明,下载示例中会同时包含WPF和SL源代码,但是只会提供VS2010版本的示例程序。 前提条件:按照前一章节安装的模板和代码片段,或者下载 MVVM Light Toolkit V3 开发环境:VS2010/Blend4 为了方便大家了解框架结构,我将不使用mvvm项目模板,而是从空白项目开始创建mvvm light项目,下面将以两种使用mvmmligh...
2011-05-03 21:24 (3998) (3)
正所谓“工欲善其事,必先利其器”,在正式使用Mvvmlight 之前,我们还需要做一些准备工作,这些工作包括安装mvvm项目模板、view类模板、ViewModel类模板、ViewModelLocator代码片段等,它使得我们能够快速创建Mvvmlight项目和应用。 当前如果你不想安装项目模板、代码片段,也不会影响你进行Mvvmlight开发,这样的话你可以跳过这一章节,而直接进入下一章节,不过我还是强烈建议你进行以下安装,因为这会大大提高你进行mvvm开发的效率。 前提条件:对于 W...
2011-05-03 17:06 (3166) (4)
本系列文章主要介绍wpf/silverlight下开源框架mvvmlight的使用,mvvmlight是基于mvvm的一个轻量级的框架,包含mvvm基本架构和一些扩展的功能。 如果你还没接触过MVVM,那么先推荐你阅读Josh Smith写的关于MVVM模式非常有名的文章MODEL VIEW VIEWMODEL (MVVM) 设计模式 FOR WPF,里面详细介绍了MVVM的实现原理和细节,并包含示例文档。 如果你是一个wpf/sl初学者,那么你只需要熟悉WPF/SL数据绑定机制,就可以...
2011-05-03 14:56 (2497) (1)
使用wpf能够轻松的制作华丽炫目的程序界面,但是其默认的窗体样式太死板,在win7下看起来还不错,在xp或2003下却显得很不协调;因此我们需要自定义窗体样式,wpf应该如何自定义窗体呢? ......最好用也是最高效的方法,就是通过wpf shell library的WindowChrome来实现,下面都是介绍如何使用WindowChrome创建自定义窗体。 最新的wpf shell library(v3.5)包含在微软发布的Microsoft Ribbon ...