コード例 #1
0
        void border_MouseMove(object sender, MouseEventArgs e)
        {
            if (sender is Border && e.LeftButton == MouseButtonState.Pressed)
            {
                Border draggedItem = sender as Border;
                if (draggedItem.DataContext is ItemTypeOrder) //Prevent dragging if GroupType
                {
                    ItemTypeOrder ito = (ItemTypeOrder)draggedItem.DataContext;
                    ItemType      it  = ito.Item;
                    if (it != null)
                    {
                        draggedItem.BorderBrush = new SolidColorBrush(_cellBorderHighlightColor);
                        adorner = new DragAdornerItem(draggedItem, e.GetPosition(draggedItem));
                        AdornerLayer.GetAdornerLayer(this).Add(adorner);

                        if (it.DesignID.Equals("198"))
                        {
                            int row = Grid.GetRow(draggedItem);
                            EnableAllowDropNewLine(0, row);
                        }
                        DragDrop.DoDragDrop(draggedItem, draggedItem, DragDropEffects.None | DragDropEffects.Move);
                        if (AdornerLayer.GetAdornerLayer(this) != null)
                        {
                            AdornerLayer.GetAdornerLayer(this).Remove(adorner);
                        }
                        draggedItem.BorderBrush = new SolidColorBrush(Color.FromRgb(151, 203, 255));
                    }
                }
                if (draggedItem.DataContext is GroupTypeOrder)
                {
                    Grid groupTable = (Grid)draggedItem.Parent;

                    adorner = new DragAdornerItem(groupTable, e.GetPosition(draggedItem));
                    AdornerLayer.GetAdornerLayer(this).Add(adorner);
                    DragDrop.DoDragDrop(draggedItem, groupTable, DragDropEffects.None | DragDropEffects.Move);
                    if (AdornerLayer.GetAdornerLayer(this) != null)
                    {
                        AdornerLayer.GetAdornerLayer(this).Remove(adorner);
                    }
                }
            }
        }
コード例 #2
0
        void border_MouseMove(object sender, MouseEventArgs e)
        {
            if (sender is Border && e.LeftButton == MouseButtonState.Pressed)
            {
                Border draggedItem = sender as Border;
                if (draggedItem.DataContext is ItemTypeOrder) //Prevent dragging if GroupType
                {

                    ItemTypeOrder ito = (ItemTypeOrder)draggedItem.DataContext;
                    ItemType it = ito.Item;
                    if (it != null)
                    {
                        draggedItem.BorderBrush = new SolidColorBrush(_cellBorderHighlightColor);
                        adorner = new DragAdornerItem(draggedItem, e.GetPosition(draggedItem));
                        AdornerLayer.GetAdornerLayer(this).Add(adorner);

                        if (it.DesignID.Equals("198"))
                        {
                            int row = Grid.GetRow(draggedItem);
                            EnableAllowDropNewLine(0, row);
                        }
                        DragDrop.DoDragDrop(draggedItem, draggedItem, DragDropEffects.None | DragDropEffects.Move);
                        if (AdornerLayer.GetAdornerLayer(this) != null)
                        {
                            AdornerLayer.GetAdornerLayer(this).Remove(adorner);
                        }
                        draggedItem.BorderBrush = new SolidColorBrush(Color.FromRgb(151, 203, 255));
                    }
                }
                if (draggedItem.DataContext is GroupTypeOrder)
                {
                    Grid groupTable = (Grid)draggedItem.Parent;

                    adorner = new DragAdornerItem(groupTable, e.GetPosition(draggedItem));
                    AdornerLayer.GetAdornerLayer(this).Add(adorner);
                    DragDrop.DoDragDrop(draggedItem, groupTable, DragDropEffects.None | DragDropEffects.Move);
                    if (AdornerLayer.GetAdornerLayer(this) != null)
                    {
                        AdornerLayer.GetAdornerLayer(this).Remove(adorner);
                    }
                }
            }
        }