XamDataTree当单击鼠标右键时,如何知道鼠标在哪个Layout上 [英] XamDataTree when click right mouse , how to know mouse is on which Layout

查看:97
本文介绍了XamDataTree当单击鼠标右键时,如何知道鼠标在哪个Layout上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的应用程序中使用了XamDataTree控件,并且我想在鼠标右键单击XamDataTree节点时显示不同的菜单.问题是单击时,如何知道鼠标在哪个布局上?

在我的应用程序中,有两个布局是打击:

I used a XamDataTree control in my App and I want show different Menu when mouse right click on XamDataTree Nodes. problem is when click , how can I know mouse is on which Layout?

on my application , there is two Layout as blow:

NodeLayout mylayout = new NodeLayout();
mylayout.Key = "FristLayout";
mylayout.TargetTypeName = "Category";
mylayout.DisplayMemberPath = "CategoryName";

NodeLayout mylayout2 = new NodeLayout();
mylayout2.Key = "SecondLayout";
mylayout2.TargetTypeName = "Product";
mylayout2.DisplayMemberPath = "FileName";



我想为FristLayout显示一个菜单,为SecondLayout显示不同的菜单.

有什么想法或帮助吗?



I want to show one menu for FristLayout and different menu for SecondLayout.

is there any idea or help?

thanks in advance.

推荐答案

我解决了这个问题,想法如下:

1. XamDataTree的Click事件时创建菜单.
2.在菜单的打开事件中检测选定的元素,如下所示
I solved it , the idea is below:

1.Create Menu when Click event of XamDataTree.
2.Detect the selected Elements in the Opening Event of Menu,like below
var node = e.GetClickedElements<XamDataTreeNodeControl>().FirstOrDefault();
           if (node != null && node.Node.NodeLayout.Key == "FristLayout")
{
  //add menu items here
}
     
Done!     


这篇关于XamDataTree当单击鼠标右键时,如何知道鼠标在哪个Layout上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆