WPF 菜单控件消失问题

我在使用Menu控件时发现它的SubmenuOpened(打开事件)发生的比较慢,鼠标移上去要等0.5秒左右才打开,具体看机器性能好像。 于是遍历Menu控件,给每个MenuItem添加事件,鼠标移入时立即设置MenuItem.IsSubmenuOpen = true; 这样实现了移入马上打开菜单,但是当鼠标从第三级菜单移动到第二级时,整个菜单都会被关闭。 比如我打开 1-1   1-1-1   1-1-2(鼠标停在这里) 1-2(鼠标从1-1-2移到这里时,整个菜单会关闭) 下面是代码,麻烦各位有闲帮忙看看,感激不尽。 View Code public partial class TestWindow : Window { public TestWindow() { InitializeComponent(); eventInit(menu1.Items); } public void eventInit(ItemCollection items) { foreach (var item in items) { MenuItem menuItem = item as MenuItem; //给每个菜单项添加鼠标事件,鼠标移入就打开菜单 menuItem.MouseEnter += (sendr, e) => { menuItem.IsSubmenuOpen = true;//不加这句就不会有问题,但是不加就达不到要的效果 }; //有子项就递归 if (menuItem.HasItems) { eventInit(menuItem.Items); } } } } View Code  
千万里不及你
浏览 733回答 1
1回答

心有法竹

MouseEventHandler mouseEventHandler = (sendr, e) => { menuItem.IsSubmenuOpen = true; }; menuItem.MouseEnter += mouseEventHandler; menuItem.MouseLeave += mouseEventHandler;
打开App,查看更多内容
随时随地看视频慕课网APP