巧用Delegate在SilverLight多个页面、控件中传递回调方法
来源:互联网 发布:数组转化为字符串 编辑:程序博客网 时间:2024/06/06 01:46
在论坛中看到经常有人碰到如何在SilverLight多个页面或者控件中传替参数或者值的问题,今天抽空通过Delegate机制实现回调实例方法重设动画参数的DEMO,分享给大家。最终结果如图:
演示地址:http://xingjunli.webs.com/DelegateDemo.html
参考资料:动画概述:http://msdn.microsoft.com/zh-cn/library/cc189019(VS.95).aspx 委托:http://msdn.microsoft.com/zh-cn/library/900fyy8e.aspx
1、初识委托:
委托delegate有点类似于非托管C/C++中的函数指针,在C#中通过委托机制来回掉实例方法,静态方法等(更重要是委托为托管代码,能保证回调方法的类型的安全)
2、使用委托回调实例方法:
2.1、用C#的delegate关键字来定义回掉函数的签名(本示例中我们通过一个单独的类来实义委托以提高重用):
2.2、在子窗体类中我们定义一个委托类型对象如:
2.3、在父窗体中实例化子窗体时将实例方法传递给委托:
2.4、用我们熟悉的方法调用语法来调用回掉函数:
3、上面我们应用委托实现了最简单的应用,实际工作中会复杂的多;我们的编译器和CLR为我们做了大量幕后工作以减轻使用的复杂性;如需了解更多请参考:委托(C# 编程指南)http://msdn.microsoft.com/zh-cn/library/ms173171.aspx
实现步骤(附源代码):
声明委托类型:
子窗体XAML:
子窗体CS:
父窗体XAML:
父窗体CS:
结束语:SilverLight同.Net FrameWork本身已经很好的结合起来,C#中一些实用的编程机制(如:委托),在SL中合理运用,将给我们带来意想不到的收获!
- 巧用Delegate在SilverLight多个页面、控件中传递回调方法
- 如何在aspx页面中添加Silverlight控件
- 在多个jsp页面传递参数
- Silverlight 在页面上动态生成控件
- 在jsp页面中取action传递值的方法
- 如何在用户控件中传递属性和方法(Reflection)
- 如何在用户控件中传递属性和方法(Reflection)
- 在数据绑定控件中使用LinkButton传递参数方法
- 在aspx中向activeX控件传递参数的方法
- aspx页面上传递参数给Silverlight插件的方法
- 可以在一个页面里面使用多个uitableview ,并使用同一个delegate
- 如何在Silverlight中切换“页面”
- 如何在Silverlight中切换“页面”
- 快速浏览Silverlight3 Beta: 在多个Silverlight应用间传递信息
- 快速浏览Silverlight3 Beta: 在多个Silverlight应用间传递信息
- 快速浏览Silverlight3 Beta: 在多个Silverlight应用间传递信息
- silverlight 实现在Canvas中拖放控件
- silverlight在XAML中设置控件焦点
- 快来人啊。。
- DevKit8000 DVSDK
- POJ 2155 二维树状数组
- 最近真郁闷呢!时间都被白白浪费了
- 满江红---火凤凰
- 巧用Delegate在SilverLight多个页面、控件中传递回调方法
- CMOS 与 TTL 的区别
- 复习负数的二进制表示方法
- 计算周、月的开始与结束日期
- 2010,经典语句
- VC++与VB数据类型对应关系
- Js图片匀速向上滚动
- 清爽简洁的图片交替导航效果
- 在.NET代码里调用Network Monitor API.