void EditorDragOver(object sender, DragEventArgs e)
        {
            try {
                GridLengthEditor target = sender as GridLengthEditor;
                GridLengthEditor source = e.Data.GetData(typeof(GridLengthEditor)) as GridLengthEditor;
                e.Handled = true;

                if (marker != null)
                {
                    AdornerLayer.GetAdornerLayer(marker.AdornedElement).Remove(marker);
                    marker = null;
                }

                if (target != null && source != null && source.Orientation == target.Orientation &&
                    (target != source && (target.Cell < source.Cell || target.Cell > source.Cell + 1)))
                {
                    marker    = DragDropMarkerAdorner.CreateAdornerCellMove(target);
                    e.Effects = DragDropEffects.Move;
                    return;
                }

                e.Effects = DragDropEffects.None;
            } catch (Exception ex) {
                Core.LoggingService.Error(ex);
            }
        }
        void ButtonPanelDragOver(object sender, DragEventArgs e)
        {
            try {
                StackPanel       target = sender as StackPanel;
                GridLengthEditor source = e.Data.GetData(typeof(GridLengthEditor)) as GridLengthEditor;
                e.Handled = true;

                if (marker != null)
                {
                    AdornerLayer.GetAdornerLayer(marker.AdornedElement).Remove(marker);
                    marker = null;
                }

                if (target != null && source != null && source.Orientation == Orientation.Vertical && source.Cell + 1 < rowDefitions.Elements().Count())
                {
                    marker    = DragDropMarkerAdorner.CreateAdornerCellMove(target);
                    e.Effects = DragDropEffects.Move;
                    return;
                }

                e.Effects = DragDropEffects.None;
            } catch (Exception ex) {
                Core.LoggingService.Error(ex);
            }
        }