Silverlight事件的操作在实际应用中是一个比较复杂的步骤。其中包含的内容有很多种,想要全部掌握其中的操作技巧不是很容易实现。下面我们就先来了解一下Silverlight事件的基础操作方法。#t#
专注于为中小企业提供成都网站制作、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业广饶免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
先简单介绍下Silverlight事件冒泡机制,理解的朋友要以先跳过此节。Silverlight是使用控件套用控件实现的,比如一个button必须在Canvas容器控件内,所以在点击Button的时候,如果Canvas指定了MouseLeftButtonDown事件,会先执行Button的MouseLeftButtonDown事件,随后执行Canvas的MouseLeftButtonDown事件。
常规事件的绑定有三种方法可以实现,在此为大家介绍。
1、在XAML的控件标记中添加属性制定,以属性="事件的执行名称"。
- < Canvas onLeftButtonDown=
"leftButtonDown">- < /Canvas>
2、使用JavaScript的指定。。
- _silverlight_control.content.
findName("controlName").addEvent
Listener("onLeftButtonDown",
functionName);
3、使用MSIL的DLL中绑定(只限于Silverlight1.1以上版本)。。
- silverlight_control.MouseLeft
ButtonDown += new System.Windows.
Input.MouseEventHandler
(silverlight_control_MouseLeft
ButtonDown);
您可以自定义Silverlight事件方法,如果想在JavaScript中使用.cs或.vb中声明托管事件,必须要使用Scriptable标记声明。
实例:
- C#
- [Scriptable]
- public partial class Page : Canvas
- {
- public Page()
- {
- this.Loaded += this.Page_Loaded;
- }
- private void Page_Loaded
(object sender, EventArgs args)- {
- InitializeComponent();
- Storyboard1.Completed += new
EventHandler(Storyboard1_Completed);- WebApplication.Current.Register
ScriptableObject("Page",this);- }
- [Scriptable]
- public event EventHandler eventName;
- }
调用:
- window.onload = function() {
- var silverlightControl = document.
getElementById(controlID);- if (silverlightControl)
- silverlightControl.focus();
- silverlightControl.content.Page.
Finish=window.finish_handler; //绑定- }
- window.finish_handler=function
(sender,args) //使用C#调用此方法,激活按钮- {
- document.getElementById('RePlay').
style.display='inline';- }
本实例是一个Silverlight事件交互的程序,***用Blend在Xaml中制做出一个动画Storyboard的实例对象。使用程序声明事件,并用Javascript调用事件委托。虽然可以在JavaScript中直接使用Storyboard. Completed实现,但在此实现JavaScript与C#事件托管实现!
文章名称:Silverlight事件常见应用指南
本文来源:http://www.stwzsj.com/qtweb/news34/4984.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联