private void RadContextMenu_Opened(object sender, RoutedEventArgs e) { Telerik.Windows.Controls.RadTreeViewItem treeViewItem = ((Telerik.Windows.Controls.RadContextMenu)sender).GetClickedElement <Telerik.Windows.Controls.RadTreeViewItem>(); if (treeViewItem == null) { (sender as Telerik.Windows.Controls.RadContextMenu).IsOpen = false; return; } tree.SelectedItem = treeViewItem.Item; }
private void CheckMenuItem(object mnu, List <string> lst, bool isFull) { if (mnu is Telerik.Windows.Controls.RadOutlookBarItem) { Telerik.Windows.Controls.RadOutlookBarItem obj = mnu as Telerik.Windows.Controls.RadOutlookBarItem; if (!isFull) { if (obj.Tag != null) { string nameKey = obj.Tag.ToString(); if (lst.Contains(nameKey)) { obj.Visibility = Visibility.Visible; if (obj.Content is Telerik.Windows.Controls.RadTreeView) { Telerik.Windows.Controls.RadTreeView rtv = obj.Content as Telerik.Windows.Controls.RadTreeView; foreach (var child in rtv.Items) { CheckMenuItem(child, lst, isFull); } } } else { obj.Visibility = Visibility.Collapsed; } } } else { obj.Visibility = Visibility.Visible; if (obj.Content is Telerik.Windows.Controls.RadTreeView) { Telerik.Windows.Controls.RadTreeView rtv = obj.Content as Telerik.Windows.Controls.RadTreeView; foreach (var child in rtv.Items) { CheckMenuItem(child, lst, isFull); } } } } if (mnu is Telerik.Windows.Controls.RadTreeViewItem) { Telerik.Windows.Controls.RadTreeViewItem obj = mnu as Telerik.Windows.Controls.RadTreeViewItem; if (!isFull) { if (obj.Tag != null) { string nameKey = obj.Tag.ToString(); if (lst.Contains(nameKey)) { obj.Visibility = Visibility.Visible; foreach (var child in obj.Items) { CheckMenuItem(child, lst, isFull); } } else { obj.Visibility = Visibility.Collapsed; } } } else { obj.Visibility = Visibility.Visible; foreach (var child in obj.Items) { CheckMenuItem(child, lst, isFull); } } } }