示例#1
0
        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);
            }
        }