随笔分类 - Silverlight
转载于网络
摘要:建立可扩展的silverlight应用框架 step-7 final(2011-09-07 14:04)建立可扩展的silverlight 应用框架 step-6:整理导航模块“LeftNav”(2011-09-07 14:03)建立可扩展的silverlight应用框架 step-5:整理Module(2011-09-07 14:02)建立可扩展的silverlight应用框架 step-4(2011-09-07 14:01)建立可扩展的silverlight应用框架 step-3(2011-09-07 14:00)建立可扩展的silverlight应用框架 step-2(2011-09-0
阅读全文
摘要:前六节的文章已经完全的记录这个项目的开发过程,其中第5节和第6节相隔的时间比较长 ,这期间我翻阅了大量的Prism官方文档以及网络上的资料,其实第6节的内容是很深、很连 贯的,以至于无法在一节里写完所以我只是记录了如何实现,少了为什么这样做。这里打算 另开一张详细的记录Prism框架应用。“OperatingTable”这个项目目前已经完成了。预览地址:http://lab.nasawz.com/请打开一些流量分析的软件来观察一下。所有的xap文件都是按需加载。并且xap文件可以通过后台来管理,动态的添加,生成相应 的配置文件。做这个项目的目的也主要是以实现为导向的学习一下Prism这个框架。
阅读全文
摘要:首先说一下我想要实现的效果。我希望在左侧的导航点击了以后右侧的主体部分发声变化。之前我在LeftNav模块用的控件是ToggleButton并为其制作了样式。本来想的是自己根据 ToggleButton作为基础自己在做一个复合控件出来。不过这里做导航的话,ListBox会更加的 适合些。ListBox的样式制作和之前的ToggleButton样式制作大同小异,都是一个原则:各个 VisualStateGroup中的视图状态是可以共存的,VisualStateGroup内部的视图状态只能同时 出现一个,尽量不要在多个VisualStateGroup同时改变同一个元素的属性。下来导航模块“Left
阅读全文
摘要:在第三节里边,建立了一个最简单的Module。这里要对其再进行整理。之前我写过一篇《 简练的视图模型 ViewModel》这里就讲述了一个最最基本的运用视图与模型的例子。用模型 来控制视图的呈现在很早的时候就提出来了。当然Prism这个框架也包括了这一点。这里就要 为Module加入Model。这里记录下整理步骤1.在Module项目中新建立一个Models文件夹,用来存放数据模型。在文件下新建立一个 HelloPrismModel类继承自INotifyPropertyChanged。在构造函数中将视图作为参数传入将视图和模型相绑定。01 public class HelloPrismMode
阅读全文
摘要:通过外部配置文件加载模块module在上一节中为项目引入了“Prism”框架,并建立了一个Hello Prism做测试。这里要把项 目好好的整理一下。使其更加的合理和具有可扩展性。我的目的是,在左侧的导航栏目里点击按钮,相应的右侧的主体部分显示不同的内容。这 些内容都是来自外部加载进来的xap文件。我可以上传管理自己的xap文件。这里来看一下我的整理过程首先将布局划分为两个部分:“LeftNavRegion”、“MainRegion”,一个来承放导航, 一个来承放主体内容。接下来就要加载相关的Module了。关于Module的加载,园子里的包包同学已经对他做了很详细的分析。具体请看《Prism
阅读全文
摘要:应用架构前边两章都是将的UI方面的知识。这里UI结构已经有了,现在要引人一个开发架构: Composite “Prism”。前期准备工作首先在项目主页下载最新版本的Composite。http://compositewpf.codeplex.com/http://www.microsoft.com/downloads/details.aspx?FamilyID=387c7a59-b217-4318- ad1b-cbc2ea453f40&displaylang=en我这里下载的是《Composite Application Guidance for WPF and Silverlight
阅读全文
摘要:接上一节,这里我要在左侧添加导航按钮。先看看需要实现的效果这里是我的office 2010的截图我想要模拟这个效果。因为普通按钮和,类似TapControl是混排在一起的,不太适合用TapControl。所以这里我 选择了ToggleButton。所以本节主要就是制作ToggleButton的样式。其实制作样式并不复杂,只要理解好视图状态这个感念以及你现在所要做样式的控件结构 基本就没什么问题了。我想大多数朋友都是Button控件制作过了样式。 他的视图状态相对来说比较简单。这里看一下button和ToggleButton在我之前的文章里有一篇:“VisualState“视图状态”使用心得”.
阅读全文
摘要:“本文适合silverlight界面设计师参考,程序开发人员最好也了解一下”首先来看一下需要实现的效果这里我主要使用Grid来布局,把界面分为了三部分,头、左部、右部好整体了解了一下布局,这里我来分布讲解。之所以使用Grid这个布局控件是因为他能根据当前的浏览器的大小做自适应布局。如图:下来一 步 准备一些需要用到的图片素材,现在做界面不一定都是要矢量元素,在合适的地方使用合 适的素材最好。这里是我准备的一些小图片。建立项 目,在项目中建立一个assets的文件夹,把项目中用到的素材分类放好。调整 MainPage的大小为800*600在舞台上新建立一个Border容器,在其内部放置一个Gri
阅读全文
摘要:Silverlight 应用程序模型提供以下功能来供托管应用程序使用:一个激活系统,它使得 Silverlight 插件能够下载您的应用程序在启动时需 要的应用程序包和任何外部库程序集。Application 类,该类封装基于 Silverlight 的应用程序通常要求的服务, 例如生命周期事件通知和 Silverlight 插件的接口。应用程序扩展性系统,此系统封装某些应用程序需要的其他服务,例如,自定 义的数据访问层。资源管理系统,这包括 URI 引用和回退机制、按需资源加载、样式和模板共 享以及全球化支持。通过这些功能,您可以实现在启动时间与资源可用性之间提供很好平衡的、构 造良好的应用
阅读全文
摘要:大多数基于 Silverlight 的应用程序以托管代码编写并充分利用 Silverlight 应用程序模型。但是,您可以选择使用简化的编程模型。Silverlight 为应用程序开发提供以下两个截然不同的模型:Silverlight 的托管 API,它使用在 Silverlight 的公共语言运行时 (CLR) 上运行的代码。可以将托管 API 用于已编译的语言(如 Visual Basic 和 C#) 或动态语言(如 IronPython 和 IronRuby)。Silverlight 的 JavaScript API,它使用由浏览器解释的 JavaScript 代码 。这些编程模型截然不
阅读全文
摘要:代码隐藏是一个术语,用于描述在为某一应用程序进行标记编译时与 XAML 页 的分部类联接的代码。本主题描述针对代码隐藏类的要求、在代码隐藏中定义的 事件处理程序的要求以及与代码隐藏相关的机制(例如 InitializeComponent 方 法)的用途。一般要求*如果某一托管应用程序的 XAML 页进行了标记编译(Page 生成操作,且 MSBuild:MarkupCompilePass1 的值为“自定义工具”),则该页上的根元素应声 明一个 x:Class。作为回退,可能仅限代码隐藏文件(具有生成操作 Compile 的 DependentUpon 文件);请参见下一节中的说明。代码隐藏和分
阅读全文
摘要:“托管扩展性框架(Managed Extensibility Framework,简称MEF),是微软 .NET框架下为提高应用和组件复用程度而推出的,用于使组件能够最大化的重用 。使用MEF能够使静态编译的.NET应用程序转换为动态组合,这将是创建可扩展应 用、可扩展框架和应用扩展的好途径。它将做为.NET Framework 4.0的组成部分 之一发布。现在,MEF也将被包含在Silverlight 4.0中。那么MEF是怎样工作的呢?简单分为三个步骤:Export (输出)Import (输入)Compose (组合)简短说一下MEF的工作原理,MEF的核心包括一个catalog和一个
阅读全文
摘要:依赖属性(Dependency Property)和附加属性 (Attached Property)这两个算是很基础的知识都不是很记得了。写一写,当做 一下笔记吧。CLR属性 与 依赖属性CLR属性我们非常熟悉了,在DotNet编程中随处可见。最简单最常见的属性访 问器就是直接操纵类的私有成员,如下:public class Person{ private String _name; public string Name { get { return _name; } set { _name = value; } }}C#3.0对这种常见的写法提供了“自动属性”...
阅读全文
摘要:Silverlight4中有一个DataPager分页控件,使用起来非常简单,拖过来,这样设置一下就可以用了,就可以搭配List(比如DataGrid)使用了,真是简单:最简单的客户端分页1 PagedCollectionView pcv = new PagedCollectionView(MyEntities/*IEnumerable<T>*/);2 3 this.dataPager1.PageSize = 10;4 5 this.dataGrid1.ItemsSource = pcv;6 this.dataPager1.Source = pcv;然后就可以实现分页了,效果如图:
阅读全文
摘要:本来打算用MVVM实现CRUD操作的,这方面例子网上资源还挺多的,毕竟CRUD算是基本功了,因为最近已经开始学习Cailburn框架了,感觉时间挺紧的,这篇就实现其中的更新操作吧。 功能很明确,当我们更改DataGrid中的CheckBox时,将源中当前发生变化的数据项在界面上显示出来。我们仍然在前面项目的基础上实现这个功能首先我们需要给实体Person类添加一个Bool的属性,因为这里我们只对这个属性值操作,所以对于age,name属性也就无必要实现更改通知了 public class Person:INotifyPropertyChanged { p...
阅读全文
摘要:在第一篇文章中的示例中,我们已经简单的了解了应用MVVM模式的流程,我的本意是你已经了解了一点MVVM的概念,然后又没有一个较好的例子学习,可以跟着我一起学习MVVM模式,所以这个部分,都是没有理论知识的,当然整个例子学完后,我们会回过头探讨一下,将其总结出来。现在我们主要在前面的示例上进行扩展,前面的示例中我们主要是将一个源对象绑定到DataGrid中的,接下来我们继续使用MVVM模式,将DataGrid选择行的变化体现界面中,其实通过这个需求变化,你会发现UI与逻辑分离带来的优势,尽管才开始似乎有点不习惯,但是相信你会不自觉的在项目倾向于中使用MVVM模式。 需求:通过单击DataGrid
阅读全文
摘要:这篇主要引申出Command结合MVVM模式在应用程序中的使用 我们要做出的效果是这样的 就是提供了一个简单的查询功能将结果绑定到DataGrid中,在前面的基础上,这个部分相对比较容易实现了 我们在PageViewModel中添加两个属性 private string _searchText; //查询关键字 public string SearchText { get { return _searchText; } set { _searchText = value; ...
阅读全文
摘要:如果你不知道MVVM模式,我建议你先了解一下MVVM模式,至少要知道实现该模式的意图是什么。 那么我主要通过我认为是已经算是比较简单的例子进行讲解这个模式,当然后面我们会在这个例子的基础上一步一步的进行扩展。 先来看一看我们的项目架构: 很典型的MVVM的分层方式 我们先来构建Model,首先在Person.cs中简单声明了一个类型 public class Person { public int age { get; set; } public string name { get; set;} } 类型定义好后,我们在P...
阅读全文
摘要:服务:1[WebMethod]2publicstringHelloWorld()3{4return"您好!";5}silverlight中代码:view sourceprint?01namespaceDynamicDemo02{03publicpartialclassMainPage : UserControl04{05publicMainPage()06{07InitializeComponent();08}0910privatevoidbutton1_Click(objectsender, RoutedEventArgs e)11{12CallService("
阅读全文
摘要:如何:为 Silverlight 客户端生成双工服务如何:为 Silverlight 客户端生成双工服务本主题描述了如何创建可与 Silverlight 客户端进行通信的双工 Windows Communication Foundation (WCF) 服务。双工服务将保留到 Silverlight 客户端的回调通道,它允许该服务对此客户端进行调用。双工服务具有许多应用程序,例如,包括用于即时消息传递的聊天服务程序或用于向客户端发送通知的监视服务。本示例提供一项服务,该服务允许客户端按名称对指定数量的产品项进行排序。该服务将模拟订单处理过程,然后使用订单的状态回调客户端。在双工消息传递中,服务
阅读全文
浙公网安备 33010602011771号