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

如何捕捉Silverlight右键点击事件

可能有的朋友正在想如何用Silverlight实现右键菜单栏,那么这篇文章可能会对你有很大帮助~

上次说要给大家晒晒在Silverlight中捕捉鼠标右键的方法.

这里还会用我们常见的对象HtmlPage(System.Windows.browser;)

在这个对象下有一个Document属性,这个属性中的方法相信大家都有点儿了解了吧 上次讲Cookie的时候也用到了他.

这次捕获鼠标右键的工作也要交给他了~

呵呵 还是先给大家share下代码吧'

首先要把我们Silverlight控件的windowless属性设置为true.

 
 
  1. <asp:Silverlight ID="Xaml1" windowless="true" runat="server" Source="~/ClientBin/SilverlightApplication1.xap" MinimumVersion="2.0.30523" Width="100%" Height="100%" /> 
  2.  
  3. <paraname="windowless" value="true" /> 
 
 
  1. <UserControl x:Class="RightClick_Silverlight.Page" 
  2.     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
  3.     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
  4.     Width="400" Height="300"
  5.     <Grid x:Name="LayoutRoot" Background="White"
  6.         <TextBlock x:Name="MyField">Right click please.</TextBlock> 
  7.     </Grid> 
  8. </UserControl> 

其实捕获鼠标的原理很简单 就是在pageload的时候给你的控件添加一个捕获事件

用的就是我们之前所说的HtmlPage对象

 
 
  1. public Page() 
  2.     HtmlPage.Document.AttachEvent("oncontextmenu", this.OnContextMenu); 
  3.  
  4. private void OnContextMenu(object sender, HtmlEventArgs e) 
  5.         string X = e.OffsetX; 
  6.         string y = e.OffsetY; 
  7.         e.PreventDefault(); 
  8.  } 

 

相信看到这里大家都明白了吧~ 这里都是我搜集来的小技巧希望对大家有所帮助~

Source code: MouseRightClick

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

相关推荐