关于WPF添加右击ContextMeun,以及获取所绑定控件的源

时间:2023-03-08 16:48:44

今天在公司给公司做一个门禁软件,其中有一个添加员工的功能,功能已经做好,但是页面的右边是一个treeView控件,于是我想到再添加员工后,可以在treeview上的部门的TreeViewWithIcons可以右击刷新一下,添加ContextMenu的代码如下。

                ContextMenu meun = new ContextMenu();
MenuItem items = new MenuItem();
items.Header = "刷新";
items.Click +=Btn_Refresh;
meun.Items.Add(items);
departmentNode.ContextMenu = meun;

之后我发现我点击了刷新只能获取到这个MenuItem,我需要获取到这个ContextMenu所绑定的TreeViewWithIcons,然后根据它的所绑定的部门去刷新相应的控件源。代码如下

            var meunItem = obj as MenuItem;
var context = meunItem.Parent as ContextMenu;
TreeViewWithIcons treeViewIcons = context.PlacementTarget as TreeViewWithIcons;