Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SchedulerRunItem_OnLoaded(object sender, RoutedEventArgs e)
        {
            this._schedulerWindow = this.Tag as SchedulerWindow;
            var             layer       = AdornerLayer.GetAdornerLayer(this);
            DragDropAdorner moveAdorner = new DragDropAdorner(this);

            layer.Add(moveAdorner);
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="e"></param>
        protected override void OnDragEnter(DragEventArgs e)
        {
            base.OnDragEnter(e);
            SchedulerWindow.SchedulerRunItemDisplayModel model = e.Data.GetData("RunItem") as SchedulerWindow.SchedulerRunItemDisplayModel;
            int draggedIndex = (int)e.Data.GetData("Index");

            if (model.IsRunStarted)
            {
                AllowDrop = false;
                e.Handled = true;
                return;
            }

            if (model.IsRunStarted)
            {
                e.Effects = DragDropEffects.None;
            }
            var thisIndex = this._schedulerWindow.ScheduledRuns.Items.IndexOf(this.DataContext);

            bool isOrderUp = true;

            if (thisIndex == draggedIndex)
            {
                return;
            }
            else if (thisIndex > draggedIndex)
            {
                isOrderUp = false;
            }

            var             layer       = AdornerLayer.GetAdornerLayer(this);
            DragDropAdorner moveAdorner = (DragDropAdorner)layer.GetAdorners(this)
                                          .First(t => t.GetType() == typeof(DragDropAdorner));

            if (moveAdorner != null)
            {
                if (isOrderUp)
                {
                    moveAdorner.SetMoveUpAdorner();
                }
                else
                {
                    moveAdorner.SetMoveDownAdorner();
                }
                moveAdorner.Visibility = Visibility.Visible;
            }
        }