C#WPF控件界面,lightningChart示波器控件内添加右击弹出可点击勾选菜单列表

文章详细描述了如何在C#中初始化和配置一个上下文菜单,添加右击链接功能,并实现六个菜单项,包括X轴和Y轴缩放、隐藏/显示曲线、导入/导出数据等功能。每个菜单项的点击事件对应着特定的图表操作。
摘要由CSDN通过智能技术生成

1、初始化6个菜单

		ContextMenu contextMenu = new ContextMenu(); //创建一个菜单对象
		MenuItem menuIteml = new MenuItem(); //创建一个菜单对象里面包含的条目
		Image iconImage1 = new Image();//创建一个存储图片的对象
		MenuItem menuItem2 = new MenuItem() ; 
		Image iconImage2 = new Image();
		MenuItem menuItem3 = new MenuItem(); 
		Image iconImage3 = new Image();
		MenuItem menuItem4 = new MenuItem();
		Image iconImage4 = new Image();
		MenuItem menuItem5 = new MenuItem(); 
		Image iconImage5 = new Image();
		MenuItem menuItem6 = new MenuItem(); 
		Image iconImage6 = new Image();

2、添加右击链接函数

	_chart.PreviewMouseRightButtonUp +=	chart PreviewMouseRightButtonUp;//添加鼠标右击操作处理函数
	
	private void_chart PreviewMouseRightButtonUp(object sender,MouseButtonEventArgs e)
	{	
		_chart.ContextMenu=contextMenu;//把表格的右击菜单属性绑定创建的菜单对象
	}

3、分别实现每个菜单的功能

	menuIteml.Header = "x轴缩放"; //设置菜单项名称
	menuIteml.IsCheckable = true;//设置菜单项可打开勾选属性
	iconImage1.Source = new BitmapImage (new Uri(@"Resources\X.png", urikind.Relative));//给图标对象绑定具体的图片 
	menuItem1.Icon = iconImage1;//给当前菜单项绑定图片作为图标显示
	menuItemi.Checked += MenuItem1_Checked;//给当前菜单项添加勾选点击函数
	menuIteml.Unchecked += MenuItem1_Unchecked; //给当前菜单项添加取消勾选点击函数
	contextMenu.Items.Add(menuIteml);//把设置好的菜单项加入到菜单中
	
	menuItem2.Header = "Y轴缩放"; 
	menuItem2.IsCheckable = true;
	iconImage2.Source = new BitmapImage(new Uri(@"Resources\Y.png", urikind.Relative)); 
	menuItem2.Icon = iconImage2;
	menuItem2.Checked += MenuItem2_Checked;
	menuItem2.Unchecked += MenuItem2_Unchecked; 
	contextMenu.Items.Add(menuItem2);
	
	menuItem3.Header = "隐藏所有曲线";
	iconimage3.Source = new BitmapImage(new Uri(@"Resources\hide.png", urikind.Relative)); 
	menuItem3.Icon = iconImage3;
	menuItem3.Click += MenuItem3_Click; //给当前菜单项添加点击函数
	contextMenu.Items.Add(menuItem3);
	
	menuItem4.Header = "显示所有曲线";
	iconImage4.Source = new Bitmapimage (new Uri(@"Resources\display.png", UriKind.Relative)); 
	menuItem4.Icon = iconImage4;
	menuItem4.Click += MenuItem4_Click; //给当前菜单项添加点击函数
	contextMenu.Items.Add(menuItem4);
	
	menuItem5.Header = "导入曲线数据";
	iconimage5.Source = new BitmapImage(new Uri(@"Resources\import.png", UriKind.Relative));
	menuItem5.Icon = iconImage5;
	menuItem5.Click += MenuItem5_click;//给当前菜单项添加点击函数
	contextMenu.Items.Add(menuItem5);
	
	menuItem6.Header = "导出曲线数据";
	iconimage6.Source = new BitmapImage (new Uri(@"Resources\export.png", Urikind,Relative)); 
	menuItem6.Icon = iconImage6;
	menuItem6.Click += MenuItem6_Click;//给当前菜单项添加点击函数
	contextMenu.Items.Add(menuItem6); 
	contextMenu.Width = 126;//设置菜单栏的宽度

4、分别实现各个菜单项对应的执行函数

//勾选菜单1,X轴缩放打开
	private void MenuItem1_Checked (object sender,RoutedEventArgs e)
	{
		if (WheelZooming.vertical == _chart.viewXY.zoomPanOptions.Wheelzooming)//如果鼠标缩放选项为垂直方向打开
			_chart.viewXy.zoomPanOptions.WheelZooming = Wheelzooming.HorizontalAndVertical; //当勾选此菜单时,则把鼠标缩放选项改为垂直和水平都打开
		if (WheelZooming.Off = _chart.ViewXY.ZoomPanOptions.Wheelzooming)//如果鼠标缩放选项为缩放关闭
			_chart.viewXY.ZoomPanOptions.WheelZooming = Wheelzooming.Horizontal;//当勾选此菜单时,则把鼠标缩放选项改为垂直方向打开
	}
//取消勾选菜单1,X轴缩放关闭
	private void MenuItem1_Unchecked(object sender,RoutedEventArgs e)
	{
		if (Wheelzooming.HorizontalAndVertical == _chart.viewXY.ZoomPanoptions.Wheelzooming)//如果鼠标缩放选项为垂直和水平方向都打开
				_chart.ViewXY.ZoomPanOptions.WheelZooming = WheelZooming.Vertical; //当取消勾选此菜单时,则把鼠标缩放选项改为垂直方向打开
		if (Wheelzooming.Horizontal ==  _chart.ViewXY.ZoomPanOptions.Wheelzooming)//如果鼠标缩放选项为水平方向打开
			_chart.viewXY.zoomPanoptions.Wheelzooming = WheelZooming.Off;//当取消勾选此菜单时,则把鼠标缩放选项改为缩放关闭
	}
	//勾选菜单2,Y轴缩放打开
	private void MenuItem2_Checked(object sender,RoutedEventArgs e)
	{
		if (WheelZooming.Horizontal == _chart.ViewXY.ZoomPanOptions.WheelZooming)//如果鼠标缩放选项为水平方向打开
			_chart.viewXY.ZoomPanOptions.WheelZooming = WheelZooming.HorizontalAndVertical; //当勾选此菜单时,则把鼠标缩放选项设置改为垂直和水平都打开
		if (WheelZooming.off == _chart.ViewXY.zoomPanOptlions.Wheelzooming)//如果鼠标缩放选项为缩放关闭
			_chart.Viewxy.ZoomPanOptions.WheelZooming = WheelZooming.Vertical;//当勾选此菜单时,则把鼠标缩放选项改为垂直方向打开
	}
	//取消勾选菜单2,Y轴缩放关闭
	private void MenuItem2_Unchecked (object sender,RoutedEventArgs e)
	{
		if (WheelZooming.HorizontalAndVertical == _chart.viewxY.ZoompanOptions.WheelZooming)//如果鼠标缩放选项为垂直和水平方向都打开
			chart.ViewXY.ZoomPanOptions.WheelZooming = WheelZooming.Horizontal; //当取消勾选此菜单时,则把鼠标缩放选项改为水平方向打开
		if (WheelZooming.Vertical == _chart.ViewXY.ZoomPanOptions.WheelZooming)//如果鼠标缩放选项为垂直方向打开
			_chart,ViewXY.ZoomPanOptions.WheelZooming =  WheelZooming.Off;//当取消勾选此菜单时,则把鼠标缩放选项改为缩放关闭
	}
	//菜单3
	private void MenuItem3_Click(object sender,RoutedEventArgs e)
	{
	}
	//菜单4
	private void MenuItem4_Click (object sender, RoutedEventArgs e)
	{
	}
	//菜单5
	private void MenuItem5_Click (object sender, RoutedEventArgs e)
	{
	}
	//菜单6
	private void MenuItem6_Click (object sender, RoutedEventArgs e)
	{
	}
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值