巧用Delegate在SilverLight多个页面、控件中传递回调方法

巧用Delegate在SilverLight多个页面、控件中传递回调方法,第1张

概述    在论坛中看到经常有人碰到如何在SilverLight多个页面或者控件中传替参数或者值的问题,今天抽空通过Delegate机制实现回调实例方法重设动画参数的DEMO,分享给大家。最终结果如图:     演示地址:http://xingjunli.webs.com/DelegateDemo.html     参考资料:动画概述:http://msdn.microsoft.com/zh-cn/l

    在论坛中看到经常有人碰到如何在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多个页面、控件中传递回调方法全部内容,希望文章能够帮你解决巧用Delegate在SilverLight多个页面、控件中传递回调方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1034182.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存