Silverlight 4.0添加鼠标右键菜单和Silverlight全屏模式的进入退出
2013-03-15 14:29
561 查看
说明:本文出处:http://www.cnblogs.com/chengxingliang/archive/2011/02/14/1954399.html#2627673(非常感谢)
在实际应用中,我们动态添加矩形框,然后使用鼠标右键点击该矩形框,得到一个弹出窗口,再为此矩形框关联一些实际信息。即可实现用户自定义的配置页面。本节将讲两个小技巧:一.鼠标右键菜单。二.Silverlight全屏模式。
一.使用鼠标右键菜单。在这里我们需要单独引入两个Dll文件。(右键项目名称-->“添加引用”-->寻找到System.Windows.Controls.Input.Toolkit.dll[可以从本文源代码中找到])
System.Windows.Controls;
System.Windows.Controls.Input.Toolkit;
MainPage.xaml代码如下
View Code
在代码中 使用MenuItem menuItem = (MenuItem)sender;捕捉到触发本事件的对象,然后判断当前对象的Header的值是多少?然后进行相应的处理就可以了。值得注意的是这里牵扯到了我们今天需要将的第二个小知识点。
二.Silverlight的全屏模式的进入。
Application.Current.Host.Content.IsFullScreen = !Application.Current.Host.Content.IsFullScreen; 就是这句简单的代码将可以让你的Silverlight程序进入或者退出全屏模式。
本实例源码基于Silverlight 4.0和VS 2010开发。
本小节的源码附上点击 http://files.cnblogs.com/chengxingliang/SLRightMouseButton.rar
另外所需DLL下载点击:System.Windows.Controls.Data.Input.rar
在实际应用中,我们动态添加矩形框,然后使用鼠标右键点击该矩形框,得到一个弹出窗口,再为此矩形框关联一些实际信息。即可实现用户自定义的配置页面。本节将讲两个小技巧:一.鼠标右键菜单。二.Silverlight全屏模式。
一.使用鼠标右键菜单。在这里我们需要单独引入两个Dll文件。(右键项目名称-->“添加引用”-->寻找到System.Windows.Controls.Input.Toolkit.dll[可以从本文源代码中找到])
System.Windows.Controls;
System.Windows.Controls.Input.Toolkit;
MainPage.xaml代码如下
View Code
/// <summary> /// 鼠标右键选择相应的项的事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MenuItem_Click(object sender, RoutedEventArgs e) { MenuItem menuItem = (MenuItem)sender; switch (menuItem.Header.ToString()) { case "关联地区": MessageBox.Show("关联地区");//在此可以弹出一个窗口显示关联地区的子窗口。然后选择相应的数据,为此Rectangle关联地区 break; case "关联页面": MessageBox.Show("关联页面");//在此可以弹出一个窗口显示关联页面的子窗口。然后选择相应的数据,为此Rectangle关联页面 break; case "进入全屏": menuItem.Header = FullScreens(menuItem.Header.ToString());//调用FullScreens函数来设置当前是否全屏,以及获取下次点击鼠标右键获得的右键菜单Header字。 break; case "取消全屏": menuItem.Header = FullScreens(menuItem.Header.ToString()); break; default: break; } mymenu.IsOpen = false;//右键菜单关闭 } /// <summary> /// 是否进入全屏 /// </summary> /// <param name="IsScreen">全屏参数</param> /// <returns></returns> private string FullScreens(string IsScreen) { Application.Current.Host.Content.IsFullScreen = !Application.Current.Host.Content.IsFullScreen; if (IsScreen == "进入全屏") { IsScreen = "取消全屏"; } else { IsScreen = "进入全屏"; } return IsScreen; } }
在代码中 使用MenuItem menuItem = (MenuItem)sender;捕捉到触发本事件的对象,然后判断当前对象的Header的值是多少?然后进行相应的处理就可以了。值得注意的是这里牵扯到了我们今天需要将的第二个小知识点。
二.Silverlight的全屏模式的进入。
Application.Current.Host.Content.IsFullScreen = !Application.Current.Host.Content.IsFullScreen; 就是这句简单的代码将可以让你的Silverlight程序进入或者退出全屏模式。
本实例源码基于Silverlight 4.0和VS 2010开发。
本小节的源码附上点击 http://files.cnblogs.com/chengxingliang/SLRightMouseButton.rar
另外所需DLL下载点击:System.Windows.Controls.Data.Input.rar
相关文章推荐
- Silverlight实用窍门系列:4.Silverlight 4.0添加鼠标右键菜单和Silverlight全屏模式的进入退出。【附带源码实例】
- Silverlight实用窍门系列:4.Silverlight 4.0添加鼠标右键菜单和Silverlight全屏模式的进入退出。【附带源码实例】
- 4.Silverlight 4.0添加鼠标右键菜单和Silverlight全屏模式的进入退出。
- 使用OpenLayers3 添加地图鼠标右键菜单
- 稳扎稳打Silverlight(58) - 4.0通信之WCF RIA Services: 通过 Domain Service, 以 MVVM 模式实现数据的添加、删除、修改和查询
- Win7如何自定义鼠标右键菜单 添加在此处打开CMD窗口
- Ubuntu14.04添加鼠标右键new_empty_file菜单
- 怎么把重启计算机任务添加到鼠标右键菜单
- 稳扎稳打Silverlight(58) - 4.0通信之WCF RIA Services: 通过 Domain Service, 以 MVVM 模式实现数据的添加、删除、修改和查询
- 稳扎稳打Silverlight(46) - 4.0UI之FlowDirection, TextTrimming, 响应鼠标滚轮事件, 响应鼠标右键事件, 全屏的新特性
- CentOS 给鼠标右键菜单添加“打开终端”的菜单项
- 【ArcEngine 10 二次开发】ITOCControl添加鼠标右键菜单
- 添加鼠标右键菜单 例子以复制datagriview 单元格的值为例!
- Windows下给鼠标右键菜单添加获得完全控制权限的菜单项
- 稳扎稳打Silverlight(58) - 4.0通信之WCF RIA Services: 通过 Domain Service, 以 MVVM 模式实现数据的添加、删除、修改和查询
- 稳扎稳打Silverlight(58) - 4.0通信之WCF RIA Services: 通过 Domain Service, 以 MVVM 模式实现数据的添加、删除、修改和查询
- centos中给鼠标右键菜单添加“打开…
- 鼠标右键新建菜单删除或添加项目
- 稳扎稳打Silverlight(46) - 4.0UI之FlowDirection, TextTrimming, 响应鼠标滚轮事件, 响应鼠标右键事件, 全屏的新特性
- 如何在Windows 7 64位系统下 添加UltraEdit到鼠标右键菜单( win7 64位 Ultraedit32 )