07 2011 档案
摘要:本篇介绍MvvmLight中一个重要的东东,那就是Messenger.(一)Messenger的基本组成Messenger类用于应用程序的通信,接受者只能接受注册的消息类型,另外目标类型可以被指定,用Send<TMessage, TTarget>(TMessage message)实现,在这种情况下信息只能被传递如果接受者类型和目标参数类型匹配,message可以是任何简单或者复杂的对象,你可以用特定的消息类型或者创建你自己的类型继承自他们(1)MessageBase:简单的消息类,携带可选的信息关于消息发布者的(2)GenericMessage<T>:范型消息(3)N
阅读全文
摘要:本篇主要学习MVVMLight中RelayCommand和如何将Blend中自带的EventToCommand行为应用到RelayCommand中。下面是实例代码。(1)在MainPage.xaml中写下如下代码。设置Grid的AllowDrop="True",代码如下 <Grid x:Name="LayoutRoot" AllowDrop="True" Background="#FF9F9F9F"> <TextBlock FontSize="36" FontWeight=&q
阅读全文
摘要:现在http://mvvmlight.codeplex.com/上下载MVVM Light安装包GalaSoft.MvvmLight.V3SP1WithHotfix.zip。解压Zip文件,会出现多个Zip文件。因为我们的环境是VS2010和Blend4,所以只需要解压选中的几个文件。这里假设我的计算机上的“我的文档”路径为C:\Users\Administrator\Documents\(1)解压GalaSoft.MvvmLight.Binaries.V3.zip文件,解压路径为C:\即可。里面有MVVM Light Toolkit 的核心.dll文件(2)解压GalaSoft.MvvmLi
阅读全文
摘要:在做项目中碰到一个问题,就是如何在知道一个类的名字,如何创建这个类呢。做的一个小测试,直接贴代码了。using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ReflectFromStringToClass{ class Program { static void Main(string[] args) { string str = "A"; Type type = Type.GetType(new Program().GetType().Names
阅读全文
摘要:做的基于Silverlight Bingmap三维高校地理信息系统和三维节能系统,系统在头半年里功能基本实现,在开发的过程中解决了很多技术难题,包括bingmap图片系统,bingmap离线开发。对silverlight知识学习,对Linq to Entity和WCF RIA Service的学习。学会习惯异步处理数据的方式。经过差不多一年的摸索项目已经基本成型。 从最近开始对项目进行重构,想利用MVVM模式,在学这个的时候了解了下Prism,对Prism有一个初步的学习,觉得Prism框架过大,在项目中有点难实施,又回到MVVM模式,但对于地图交互似乎用MVVM方式很不方面,每天为这些事困.
阅读全文
摘要:文字型态的数据要用什么样的格式储存?char, varchar, nchar, nvarchar??使用数据库储存文字的数据,在数据库中会有以下这些的型态可以设定char, varchar, nchar, nvarchar那么到底要用哪种型态比较适合,这些型态之间有何差异呢??意义与差异从这些字眼上来看,都是有char,差别在var与n这两个字眼,那么就先来简单介绍一下这两个字眼代表的意义:var:不定长度→有多长存多长n:Unicode→无论英文、数字、中文、日文、...每个字都占2Byte。说明一下:char与nchar宣告的是固定的长度,因此如果宣告char(5),但是只放a这个字,那么
阅读全文
摘要:本篇讲解了Artefact Animator 最简单使用和基本知识,包括制作简单动画、动画的控制、动画过程中的事件、属性包装器Getter/Setter、EaseObjectGroup、动画应用自定义缓冲函数等(一)下面是学习的代码(1)前台代码MainPage.xaml<UserControl x:Class="MyArtefactAnimatorDemo.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http:/
阅读全文
摘要:今天在做WCF测试实验时,出现“System.Data.Objects.DataClasses.EntityObject”在未被引用的程序集中定义必须添加对程序集“System.Data.Entity"引用 .这样的错误,在网上查了下,主要是WCF Service中使用了Linq to Entity
阅读全文
摘要:在前面我们介绍一个轻量级得动画框架agTweener,今天介绍一个重量级制作动画的框架Artefact Animator.在Flash中我们可以用 Tweener,而在Silverlight我们可以用Artefact Animatork框架在后台写代码动态实现动画,而不需要用Blend中的 故事版实现动画。一句话对UIElement空间实现动画ArtefactAnimator.AddEase ( object, properties, values, time, ease, delay );特点(一)使用简单(1)多个属性动画只需一行代码(2)控制字符串"x","
阅读全文
摘要:今天大学同学问了我一个问题,Linq to Entity中连接两个数据库时,报错“指定的 LINQ 表达式包含对与不同上下文关联的查询的引用。” 研究下却是发现这个问题,下面是我做的测试: class Program { static void Main(string[] args) { using
阅读全文
摘要:本节学习了Navigation的一些基本知识,觉得这节比较难。这里讲学习和理解点的东西记录下来。觉得本节应该弄清楚的问题的关键词 (1)CallMethodAction用于事件和行为的绑定。(2)InteractionRequest<T> 在交互请求时协调ViewModel和View(3)Notification用于交互式单向通知用户,所以ViewModel不能预测用户对Notification中Title和Content的更改(4)学会自定义行为和操作(一)在ChatView.xaml,代码如下View Code <Grid x:Name="LayoutRoot&
阅读全文
摘要:本节学习了Prism中的UI Composition(界面组合),我认为里面最用的一个问题就是父视图区域如何把上下文(RegionContext)传到子视图,且子视图如何从获得的RegionContext中获取数据的。本文以UI Composition QuickStart为列说明这个问题。(一)先看看这个项目的UI结构。(二)父区域与子区域的区域上下文(RegionContext)过程简介 首先在EmployeeSummaryView.xaml中TabControl添加如下代码: <!--TabControl定义为一个区域, 包含EmployeeDetailsView 和 Employ
阅读全文
摘要:许多做flash/flex开发的人都知道在flash中有一个Tween类来帮助程序员用编程的方式来构建动画。不用每一次都在时间轴上做。silverlight也一样在sl中有一个agTweener的第三方类库。下载程序:agTweener转自:王喆(nasa)http://www.cnblogs.com/nasa/archive/2008/07/22/1248976.html我的这个项目就是用它来构建动画的。这里我简单的介绍一下它的使用。 TweenParameter _tween = new TweenParameter(); _tween.Opacity = 0; _tween.time =
阅读全文
摘要:Event Aggregation(事件聚集)Prism类库提供了事件机制能让应用程序中的组件相互通信。这种机制建立在事件聚合(event aggregate)服务上,允许发布者和订阅者通过事件通信,不许要彼此直接引用。EventAggregator提供了多点传送发布/订阅功能。这意味着可能有可以触发同一事件多个发布者和可以监听同一事件的订阅者。考虑使用EventAggregator 来发布一个事件,贯穿多个模块和发送消息在业务逻辑代码间,像控制器和展示。在Stock Trader RI,关于这个的一个例子就是,当Process Order 按钮别点击而且订单被成功处理,如痴同时,其他模块需要
阅读全文
摘要:本节学习了Event Aggregation事件聚合,这个在Prism中很重要,特别是对于Module间的通信。除了前面介绍的Command可以用于模块间的通信,还有我们这一节介绍的Event Aggregation(事件聚合).(一)为什么不用.NET FrameWork中的事件呢? 使用.NET Framework事件是罪简单和直观的方式用于非松散耦合需求的组件,属于对象引用依赖的发布-订阅模型(二)EventAggregator事件聚合器 提供了多点传送发布/订阅功能。这意味着可能有可以触发同一事件多个发布者和可以监听同一事件的订阅者。(三)模块间通信过程简介 CompositePre.
阅读全文
摘要:本节结束了Prism中Commanding QuickStart这个项目,主要讲解了CompositeCommand和DelegateCommand。CompositeCommand往往来出来一批命令,就像下面的Order,你可以填写一个订单后,就保存这个订单。你可以一个订单,但不保存,继续天下一个订单,最后点击一个按钮SaveAllOrders,把所填的所有订单一次性全部保存。首先我们来看看OrderModule,它是一个模块,代码如下: 通过使用DelegateCommand,你可以为Execute和CanExecute方法提供委托。(1)在OrderPresentationModel.c
阅读全文
摘要:该篇文章转自:http://www.cnblogs.com/likely/archive/2011/04/10/2011219.htmlC#控件命名规范一、Data Control类型前缀示例AccessDataSourceadsadsPubsDataListdlstdlstTitlesDetailViewdvwdvwTitlesFormViewfvwfvwFontsGridViewgvwgvwCityObjectDataSourceodsodsMenusRepeaterrptrptQueryResultsReportViewerrvwrvwRecordSiteMapDataSourcesmd
阅读全文