微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Silverlight中键盘事件的js开发

     在之前的一篇文章中,介绍了Silverlight中鼠标事件的js应用,因为这篇文章内容摘选自SDK,所
以就先暂放在新手区,算是给自己做了个备注吧:)

    下面是相应的xaml代码(KeyDown.xaml):   

< Canvas  xmlns ="http://schemas.microsoft.com/client/2007"  
        xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
        x:Name
="myTextCanvas" >

  
TextBox  Canvas.Left ="30"  Canvas.Top  Width ="200"  
   x:Name
="myTextBox"  Text =""   /> ="80"  
  x:Name
="myTextBox2"
  
  
TextBlock  ="130"
    x:Name
="myTextBlock" ="显示 KeyDown 事件参数"
</ Canvas

    相应的js代码,内容详见注释(KeyDown.js):   

Silverlight_JsWeb.KeyDown  = function () 
{
}

Silverlight_JsWeb.KeyDown.prototype 

{
 handleLoad: 
(plugIn, userContext, sender) 
 {
  
this .plugIn   plugIn;
  
  
//  按钮事件挂钩示例: 查找按钮,然后附加事件处理程序   sender.findName( " myTextBox ).addEventListener( KeyDown , Silverlight.createDelegate( .handleKeyDown));
  sender.findName(
GotFocus .handleGotFocus));
  sender.findName(
LostFocus .handleLostFocus));
  sender.findName(
KeyUp .handleKeyUp));
 },
/*  
keyEventArgs 参数说明:
    Key: 键值,整型类型。 
    PlatformKeyCode: 键盘按下的键值,整型类型。This value is the non-portable key code, which is operating system-specific.
    Shift: 是否按下了 SHIFT 键,Boolean类型.
    Ctrl: 是否按下了 Ctrl 键,Boolean类型.
*/

 
 键按下的事件处理方法.     handleKeyDown:  (sender, keyEventArgs) 
    {        
        
var  textBlock   sender.findName( myTextBlock );

        
 msg   key:  +  keyEventArgs.key  /r/n ;
            msg 
+= platformKeycode:   keyEventArgs.platformKeyCode shift:   keyEventArgs.shift ctrl:   keyEventArgs.ctrl ;
            
        textBlock.Text 
 msg;
    },
    
得到输入焦点的处理方法     handleGotFocus:  ).Text  得到焦点 ;
    },0);">失去输入焦点的处理方法
    handleLostFocus:  失去焦点  键弹起的事件处理方法     handleKeyUp:   判断是否按下 CTRL+V 组合键.          if  ((keyEventArgs.key  == 51 &&  (keyEventArgs.ctrl  true ))
        {
            
 返回插件引用.               plugin   sender.getHost();

            
 检测是否是sivlerlight 2.0版.             sender.findName( Silverlight 2.0:   plugin.isversionSupported( 2.0 );
        }
    }
}

    其Demo运行效果如下所示:

          


    
    
     好了,今天的内容就到这里了。   
    
     源码下载,请点击这里:)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐