如何在扩展菜单之前为菜单项获取非空的 Adornerlayer
How to get not null Adornerlayer for menuitem before expanding the menu
以下代码片段为我提供了空的 adornerLayer
Menu menu = (Menu)this.FindName("Menu");
MenuItem menuItem = (MenuItem) menu.Items.GetItemAt(0);
MenuItem subMenuItem = (MenuItem) menuItem.Items.GetItemAt(1);
var layer = AdornerLayer.GetAdornerLayer(subMenuItem);
layer.Add(new SimpleCircleAdorner(subMenuItem));
万一我会添加行:
menuItem.IsSubmenuOpen = true
菜单以编程方式展开,装饰层不为空。
是否有可能为未展开的菜单获取非空装饰器? (第一次)
Edit1: 好吧,好像在菜单打开之前没有创建可视化树。我仍然不确定如何以编程方式触发视觉树的创建。
我没有找到 returns 在展开菜单之前装饰层不是空的解决方案。
因此,当特定菜单项的可见性发生变化时,我引入了回调。
展开菜单时,可见性发生变化,我可以获得非空装饰器。
以下代码片段为我提供了空的 adornerLayer
Menu menu = (Menu)this.FindName("Menu");
MenuItem menuItem = (MenuItem) menu.Items.GetItemAt(0);
MenuItem subMenuItem = (MenuItem) menuItem.Items.GetItemAt(1);
var layer = AdornerLayer.GetAdornerLayer(subMenuItem);
layer.Add(new SimpleCircleAdorner(subMenuItem));
万一我会添加行:
menuItem.IsSubmenuOpen = true
菜单以编程方式展开,装饰层不为空。
是否有可能为未展开的菜单获取非空装饰器? (第一次)
Edit1: 好吧,好像在菜单打开之前没有创建可视化树。我仍然不确定如何以编程方式触发视觉树的创建。
我没有找到 returns 在展开菜单之前装饰层不是空的解决方案。
因此,当特定菜单项的可见性发生变化时,我引入了回调。
展开菜单时,可见性发生变化,我可以获得非空装饰器。