《(完整word版)SilverLight学习笔记--Silverligh之动态加载程序集(.DLL).pdf》由会员分享,可在线阅读,更多相关《(完整word版)SilverLight学习笔记--Silverligh之动态加载程序集(.DLL).pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、自定义 TextEventArgs 事件参数类定义一个接口IEditUI 1.2、定义用户编辑器类用与定义接口同样的方法,我们添加一个Silverlight 类库项目,命名为:Implementation。新建后,解决方案如下图:在编写 Implementation类的代码前,我们需要添加引用前面所定义的Interfaces 接口,引用界面如图:Implementation 项目下的 Class1.cs 代码如下:using System;using System.Net;using System.Windows;using System.Windows.Controls;using Syst
2、em.Windows.Documents;using System.Windows.Ink;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;using Interfaces;/需要引用 Interfaces接口namespace Implementation/在此我们定义Editor 类,它必须要实现我们前面定义的IEditUI 接口public class MyEditor:IEditUI private
3、 TextBox textBox;private TextBlock textBlock;定义并实现 IEditUI 接口的 TextChanged事件 MyEditor 的构造函数实现 IEditUI 接口的 GetControls方法 MyEditor 界面中按钮 Click 事件,在此事件中激发IEditUI 接口定义的 TextChanged事件实现 IEditUI 接口的 SetText 方法 1.3、进一步准备工作现在我们需要生成解决方案,生成后,我们需要找到Implementation项目的 Bin 目录下的 Debug 子目录,在此子目录下找到 Implementation.d
4、ll,把它拷贝到 SLDynamicLoadingAssembly.Web项目的 ClientBin 下备用(引用)。如下图:2 2、编写、编写 HostHost 界面界面2.1、定义 SLDynamicLoadingAssembly程序界面编辑 SLDynamicLoadingAssembly项目下的 Page.xaml,内容如下:在此我们创建了用户界面。2.2、引用前面创建的用户界面程序集:Implementation.dllPage.xaml.cs 代码如下:using System;using System.Collections.Generic;using System.Linq;u
5、sing System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;using System.Reflection;/因为要用到 Assembly,所以引入此空间using Interfaces;namespace SLDynamicLoadingAssemblypublic partial class Page:UserControl IEditUI editor;/先声明一个全局 IEditUIpublic Page()InitializeComponent();点击动态加载编辑器(Editor)按钮后加载程序集Implementation.dll传递编辑器中的文本到外部TextBox 中显示把外部 TextBox 中的值传递到递编辑器中的TextBox 至此,重新生成解决方案并运行即可看到前面的运行效果。