silverlight   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了4.Silverlight 4.0添加鼠标右键菜单和Silverlight全屏模式的进入退出。大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

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

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

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

     System.Windows.Controls;

     System.Windows.Controls.Input.Toolkit;

     MainPage.xaml代码如下

    
    
  1. <UserControl x:Class="SLRightMouseButton.MainPage" 
  2.     xmlns:my="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit" 
  3.     xmlns="http://scheR_202_11845@as.microsoft.com/winfx/2006/xaml/presentation" 
  4.     xmlns:x="http://scheR_202_11845@as.microsoft.com/winfx/2006/xaml" 
  5.     Width="640" Height="480"
  6.     <Canvas x:Name="LayoutRoot"
  7.         <Rectangle x:Name="ti" Width="150" Height="150" radiusX="5" radiusY="5" Fill="Blue"></Rectangle> 
  8.         <my:ContextMenuservice.ContextMenu> 
  9.             <my:ContextMenu Name="mymenu"
  10.                 <my:MenuItem Header="关联地区" Click="MenuItem_Click"/> 
  11.                 <my:Separator/> 
  12.                 <my:MenuItem Header="关联页面" Click="MenuItem_Click"/> 
  13.                 <my:Separator/> 
  14.                 <my:MenuItem Header="进入全屏" Click="MenuItem_Click"/> 
  15.             </my:ContextMenu> 
  16.         </my:ContextMenuservice.ContextMenu> 
  17.     </Canvas> 
  18. </UserControl> 

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

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

    
    
  1. /// <sumMary
  2.       /// 鼠标右键选择相应的项的事件 
  3.       /// </sumMary
  4.       /// <param name="sender"></param> 
  5.       /// <param name="e"></param> 
  6.       private void MenuItem_Click(object sender, routedEventArgs E) 
  7.       { 
  8.           MenuItem menuItem = (MenuItem)sender; 
  9.           switch (menuItem.Header.ToString()) 
  10.           { 
  11.               case "关联地区"
  12.                   messageBox.Show("关联地区");//在此可以弹出一个窗口显示关联地区的子窗口。然后选择相应的数据,为此Rectangle关联地区 
  13.                     
  14.                   break; 
  15.               case "关联页面"
  16.                   messageBox.Show("关联页面");//在此可以弹出一个窗口显示关联页面的子窗口。然后选择相应的数据,为此Rectangle关联页面 
  17.                   break; 
  18.               case "进入全屏"
  19.                   menuItem.Header = FullScreens(menuItem.Header.ToString());//调用FullScreens函数来设置当前是否全屏,以及获取下次点击鼠标右键获得的右键菜单Header字。 
  20.                   break; 
  21.               case "取消全屏"
  22.                   menuItem.Header = FullScreens(menuItem.Header.ToString()); 
  23.                   break; 
  24.               default
  25.                   break; 
  26.           } 
  27.           mymenu.IsOpen = false;//右键菜单关闭 
  28.       } 
  29.       /// <sumMary
  30.       /// 是否进入全屏 
  31.       /// </sumMary
  32.       /// <param name="IsScreen">全屏参数</param> 
  33.       /// <returns></returns
  34.       private String FullScreens(String IsScreen) 
  35.       { 
  36.           Application.Current.Host.Content.IsFullScreen = !Application.Current.Host.Content.IsFullScreen; 
  37.           if (IsScreen == "进入全屏"
  38.           { 
  39.               IsScreen = "取消全屏"
  40.           } 
  41.           else 
  42.           { 
  43.               IsScreen = "进入全屏"
  44.           } 
  45.           return IsScreen; 
  46.       } 
  47.   } 

      在代码中 使用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全屏模式的进入退出。所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。