如何捕捉Silverlight右键点击事件

文/sonic1abc  出处/博客园

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

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

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

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

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

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

<UserControl x:Class="RightClick_Silverlight.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Width="400" Height="300">
    <Grid x:Name="LayoutRoot" Background="White">
        <TextBlock x:Name="MyField">Right click please.</TextBlock>
    </Grid>
</UserControl>
其实捕获鼠标的原理很简单 就是在pageload的时候给你的控件添加一个捕获事件

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



public Page()
{
    HtmlPage.Document.AttachEvent("oncontextmenu", this.OnContextMenu);
}

private void OnContextMenu(object sender, HtmlEventArgs e)
{
        string X = e.OffsetX;
        string y = e.OffsetY;
        e.PreventDefault();
}

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [Silverlight] 的这些文章也感兴趣:

一步一步学Silverlight 2系列(2):基本控件  提高 Silverlight 应用程序性能的小贴士
一步一步学Silverlight 2系列(5):实现简单的拖放功能  Silverlight 中用 IronPython 创建和调用用户控件
在silverlight 2 (beta1) 中使用BackgroundWorker  Silverlight在IE中无法显示但在Firefox中正常的原因和解决办法
Silverlight 2初试:Fanfou.com客户端——EatSilverlight  Silverlight教程第五部分:用 ListBox 和 DataBinding 显示列表数据
Silverlight 2 (beta1)数据操作(1)  开发Silverlight 2.0的自定义控件
移动版Silverlight 1.0将于第二季度发布  一步一步学Silverlight 2系列(24):与浏览器交互相关辅助方法
一步一步学Silverlight 2系列(15):数据与通信之ASMX  如何配置支持Silverlight的Web服务器
Silverlight 2的变化(Breaking Changes in Silverlight 2)  一步一步学Silverlight 2系列(4):鼠标事件处理
使用SilverLight构建应用程序(二)  开源的Silverlight 数据列表控件:AgDataGrid
Silverlight 2学习教程(二):开发简单的Silverlight 2应用程序  Silverlight工具集合