《(完整word版)SilverLight学习笔记--Silverligh之动态加载程序集(.DLL)3936.pdf》由会员分享,可在线阅读,更多相关《(完整word版)SilverLight学习笔记--Silverligh之动态加载程序集(.DLL)3936.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;usi
2、ng System.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:IE
3、ditUI private TextBox textBox;private TextBlock textBlock;定义并实现 IEditUI 接口的 TextChanged 事件 MyEditor 的构造函数 实现 IEditUI 接口的 GetControls 方法 MyEditor 界面中按钮 Click 事件,在此事件中激发 IEditUI 接口定义的 TextChanged 事件 实现 IEditUI 接口的 SetText 方法 1.3、进一步准备工作 现在我们需要生成解决方案,生成后,我们需要找到 Implementation 项目的 Bin 目录下的 Debug 子目录,在此子
4、目录下找到 Implementation.dll,把它拷贝到 SLDynamicLoadingAssembly.Web 项目的 ClientBin 下备用(引用)。如下图:2、编写 Host 界面 2.1、定义 SLDynamicLoadingAssembly 程序界面 编辑 SLDynamicLoadingAssembly 项目下的 Page.xaml,内容如下:在此我们创建了用户界面。2.2、引用前面创建的用户界面程序集:Implementation.dll Page.xaml.cs 代码如下:using System;using System.Collections.Generic;us
5、ing System.Linq;using 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 SLDynamicLoadingAssembly public partial class Page:UserControl IEditUI editor;/先声明一个全局 IEditUI public Page()InitializeComponent();点击动态加载编辑器(Editor)按钮后加载程序集Implementation.dll 传递编辑器中的文本到外部 TextBox 中显示 把外部 TextBox 中的值传递到递编辑器中的 TextBox 至此,重新生成解决方案并运行即可看到前面的运行效果。