4.Silverlight 4.0添加鼠标右键菜单和Silverlight全屏模式的进入退出。

4.Silverlight 4.0添加鼠标右键菜单和Silverlight全屏模式的进入退出。,第1张

概述继上节动态的添加Rectangle矩形框所讲。在实际应用中,我们动态添加矩形框,然后使用鼠标右键点击该矩形框,得到一个d出窗口,再为此矩形框关联 一些实际信息。即可实现用户自定义的配置页面。本节将讲两个小技巧:一.鼠标右键菜单。二.Silverlight全屏模式。      一.使用鼠标右键菜单。在这里我们需要单独引入两个Dll文件。(右键项目名称-->“添加引用”-->寻找到System.Win

继上节动态的添加Rectangle矩形框所讲。在实际应用中,我们动态添加矩形框,然后使用鼠标右键点击该矩形框,得到一个d出窗口,再为此矩形框关联 一些实际信息。即可实现用户自定义的配置页面。本节将讲两个小技巧:一.鼠标右键菜单。二.Silverlight全屏模式。

     一.使用鼠标右键菜单。在这里我们需要单独引入两个Dll文件。(右键项目名称-->“添加引用”-->寻找到System.windows.Controls.input.Toolkit.dll[可以从本文源代码中找到])

     System.windows.Controls;

     System.windows.Controls.input.Toolkit;

     MainPage.xaml代码如下

        <UserControl x:Class="SLRightmousebutton.MainPage"               xmlns:my="clr-namespace:System.windows.Controls;assembly=System.windows.Controls.input.Toolkit"               xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"               xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"               WIDth="640" Height="480"              <Canvas x:name="LayoutRoot"                  <Rectangle x:name="ti" WIDth="150" Height="150" RadiusX="5" RadiusY="5" Fill="Blue"></Rectangle>                   <my:ContextMenuService.ContextMenu>                       <my:ContextMenu name="mymenu"                          <my:MenuItem header="关联地区" Click="MenuItem_Click"/>                           <my:Separator/>                           <my:MenuItem header="关联页面" Click="MenuItem_Click"/>                           <my:Separator/>                           <my:MenuItem header="进入全屏" Click="MenuItem_Click"/>                       </my:ContextMenu>                   </my:ContextMenuService.ContextMenu>               </Canvas>           </UserControl>         

      在这里很明显是为名为ti的Rectangle矩形区域之内可以被右键点击,然后右键点击得到右键菜单“关联地区”“关联页面”“进入全屏”三项。这三个项目都加在到同一个点击事件MenuItem_Click中处理。

 MainPage.xaml.cs文件关键代码处理MenuItem_Click事件代码如下

        /// <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("关联地区");//在此可以d出一个窗口显示关联地区的子窗口。然后选择相应的数据,为此Rectangle关联地区                                                           break;                         case "关联页面"                            MessageBox.Show("关联页面");//在此可以d出一个窗口显示关联页面的子窗口。然后选择相应的数据,为此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

总结

以上是内存溢出为你收集整理的4.Silverlight 4.0添加鼠标右键菜单和Silverlight全屏模式的进入退出。全部内容,希望文章能够帮你解决4.Silverlight 4.0添加鼠标右键菜单和Silverlight全屏模式的进入退出。所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1075106.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存