private void MenuClicked(object sender, MouseButtonEventArgs e) { if (null == OnMenuClickedHandler) { return; } var clickedItem = sender as TreeViewItem; var menuID = clickedItem.Name; var menuData = m_rootMenu.FindMenuDataOnId(menuID); if (menuData.ChildMenus.Count > 0) { clickedItem.IsExpanded = !clickedItem.IsExpanded; //var result = clickedItem.IsExpanded ? true : clickedItem.ExpandSubtree(); } else { OnMenuClickedHandler(menuData, e); e.Handled = true; } }