可能有的朋友正在想如何用Silverlight实现右键菜单栏,那么这篇文章可能会对你有很大帮助~
上次说要给大家晒晒在Silverlight中捕捉鼠标右键的方法.
这里还会用我们常见的对象HtmlPage(System.Windows.Browser;)
在这个对象下有一个Document属性,这个属性中的方法相信大家都有点儿了解了吧 上次讲Cookie的时候也用到了他.
这次捕获鼠标右键的工作也要交给他了~
呵呵 还是先给大家share下代码吧'
首先要把我们Silverlight控件的windowless属性设置为true.
- <asp:Silverlight ID="Xaml1" Windowless="true" runat="server" Source="~/ClientBin/SilverlightApplication1.xap" MinimumVersion="2.0.30523" Width="100%" Height="100%" />
- <param name="windowless" value="true" />
- <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();
- }
相信看到这里大家都明白了吧~ 这里都是我搜集来的小技巧希望对大家有所帮助~
Source code: MouseRightClick
转载于:https://blog.51cto.com/nick287/1162202