コード例 #1
0
        public async void Drag(object sender, PointerPressedEventArgs e)
        {
            if (!selected)
            {
                Select(e);
            }

            DataObject dragData = new DataObject();

            dragData.Set("frame", _pattern.Window?.Selection.Selection);

            DragDropEffects result = await DragDrop.DoDragDrop(dragData, DragDropEffects.Move);

            if (result == DragDropEffects.None)
            {
                if (selected)
                {
                    Select(e);
                }

                if (e.MouseButton == MouseButton.Left)
                {
                    FrameSelected?.Invoke(Viewer.Frame.ParentIndex.Value);
                }

                if (e.MouseButton == MouseButton.Right)
                {
                    FrameContextMenu.Open(Viewer);
                }
            }
        }
コード例 #2
0
        public async void Drag(object sender, PointerPressedEventArgs e)
        {
            PointerUpdateKind MouseButton = e.GetCurrentPoint(this).Properties.PointerUpdateKind;

            if ((e.KeyModifiers & ~KeyModifiers.Shift) == KeyModifiers.Alt)
            {
                _pattern.Window?.PlayFrom(this, (e.KeyModifiers & ~KeyModifiers.Alt) == KeyModifiers.Shift);
                return;
            }

            if (!selected)
            {
                Select(e);
            }

            DataObject dragData = new DataObject();

            dragData.Set("frame", _pattern.Window?.Selection.Selection);

            App.Dragging = true;
            DragDropEffects result = await DragDrop.DoDragDrop(e, dragData, DragDropEffects.Move);

            App.Dragging = false;

            if (result == DragDropEffects.None)
            {
                if (selected)
                {
                    Select(e);
                }

                if (MouseButton == PointerUpdateKind.LeftButtonPressed)
                {
                    FrameSelected?.Invoke(Viewer.Frame.ParentIndex.Value);
                }

                if (MouseButton == PointerUpdateKind.RightButtonPressed)
                {
                    ((ApolloContextMenu)this.Resources["FrameContextMenu"]).Open(Viewer);
                }

                if (MouseButton == PointerUpdateKind.MiddleButtonPressed)
                {
                    _pattern.Window?.PlayFrom(this, e.KeyModifiers == KeyModifiers.Shift);
                }
            }
        }
コード例 #3
0
        public void DragFailed(PointerPressedEventArgs e)
        {
            PointerUpdateKind MouseButton = e.GetCurrentPoint(this).Properties.PointerUpdateKind;

            if (MouseButton == PointerUpdateKind.LeftButtonPressed)
            {
                FrameSelected?.Invoke(Viewer.Frame.ParentIndex.Value);
            }

            if (MouseButton == PointerUpdateKind.RightButtonPressed)
            {
                ((ApolloContextMenu)this.Resources["FrameContextMenu"]).Open(Viewer);
            }

            if (MouseButton == PointerUpdateKind.MiddleButtonPressed)
            {
                _pattern.Window?.PlayFrom(this, e.KeyModifiers == KeyModifiers.Shift);
            }
        }