Silverlight5 创建右键菜单菜单

来源:互联网 发布:php 前后端分离怎么做 编辑:程序博客网 时间:2024/06/05 01:03

Silverlight4就可以创建右键菜单,但是需要多加几个方法限制SL自带的右键菜单的显示。

在SL5里面创建右键菜单就相对简单一些,这里是写的一个通用方法的简单例子。


程序集 System.Windows.Controls.Input.Toolkit.dll


using System;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Ink;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;namespace SinoChemBI.Tools{    public class RightMenuTools    {        #region 创建截图右键菜单菜单        public event EventHandler OnPrintScreenMenuItemClick;        ///<summary>        /// 创建截图右键菜单菜单        ///</summary>        public void CreatePrintScreenRightMenu(UIElement _UIElement)        {            ContextMenu newMenu = new ContextMenu();            MenuItem _PrintScreen = new MenuItem();            _PrintScreen.Header = "另存为图片";            _PrintScreen.Click += (s, e) =>             {                if (OnPrintScreenMenuItemClick != null)                {                    OnPrintScreenMenuItemClick(_UIElement, e);                }            };            newMenu.Items.Add(_PrintScreen);            ContextMenuService.SetContextMenu(_UIElement, newMenu);//为控件绑定右键菜单        }        #endregion    }}

使用方法:

 /// <summary>        /// 初始化加载        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        void WorkloadStatistics_Loaded(object sender, RoutedEventArgs e)        {            //绑定右键菜单            RightMenuTools _RightMenuTools1 = new RightMenuTools();            _RightMenuTools1.OnPrintScreenMenuItemClick += new EventHandler(_RightMenuTools1_OnPrintScreenMenuItemClick);            _RightMenuTools1.CreatePrintScreenRightMenu(ParetoChart1);                        //LoadData();        }        void _RightMenuTools1_OnPrintScreenMenuItemClick(object sender, EventArgs e)        {            bool? _IsSuccess = _ImageTools.PrintScreen(this.ParetoChart1);//这里调用的是我上一篇博客中的截图工具类            if (_IsSuccess == true)            {                MessageBox.Show("保存成功");            }            else if (_IsSuccess == false)            {                MessageBox.Show("保存失败");            }        }


原创粉丝点击