private void TreeFunctions_MouseUp(object sender, MouseButtonEventArgs e) { _dragBoxFromMouseDown = Rect.Empty; var p = e.GetPosition((FrameworkElement)sender); var mousePosition = ((FrameworkElement)sender).PointToScreen(p); if (e.ChangedButton != MouseButton.Right) { return; } var lng = ActiveQueryBuilder.View.WPF.Helpers.ConvertLanguageFromNative(Language); ICustomContextMenu menu = ControlFactory.Instance.GetCustomContextMenu(); object tag = GetNodeTag(sender); var aki = tag as AdvancedKeywordInfo; if (aki != null) { menu.AddItem( ActiveQueryBuilder.View.WPF.Helpers.Localizer.GetString("strInsertFunction", lng, LocalizableConstantsUI.strInsertFunction), MenuItem_Clicked, false, true, null, aki.Template); } if (menu.ItemCount > 0) { menu.Show(null, mousePosition.X, mousePosition.Y); } }
private void TreeFunctions_MouseUp(object sender, MouseEventArgs e) { _dragBoxFromMouseDown = Rectangle.Empty; if (e.Button != MouseButtons.Right) { return; } ICustomContextMenu menu = ControlFactory.Instance.GetCustomContextMenu(); object tag = GetNodeTag(treeFunctions.HitTest(e.Location).Node); var aki = tag as AdvancedKeywordInfo; if (aki != null) { menu.AddItem( ActiveQueryBuilder.View.Helpers.Localizer.GetString("strInsertFunction", LocalizableConstantsUI.strInsertFunction), MenuItem_Clicked, false, true, null, aki.Template); } CPoint point = GetScreenPoint((Control)sender, e.Location.FromNativePoint()); if (menu.ItemCount > 0) { menu.Show(null, point.X, point.Y); } }