Пример #1
0
        private static void CreatePreviewAdorner()
        {
            // Clear if there is an existing adorner
            RemovePreviewAdorner();

            AdornerLayer layer = AdornerLayer.GetAdornerLayer(GetTopContainer());
            UIElement feedbackUI = _currentSourceAdvisor.GetVisualFeedback(_draggedElt);
            _overlayElt = new DropPreviewAdorner(feedbackUI, _draggedElt, layer);
            layer.Add(_overlayElt);
        }
Пример #2
0
 private static void RemovePreviewAdorner()
 {
     if (_overlayElt != null)
     {
         AdornerLayer.GetAdornerLayer(GetTopContainer()).Remove(_overlayElt);
         _overlayElt = null;
     }
 }
Пример #3
0
		static void CreatePreviewAdorner(object sender, DragEventArgs e)
		{
			// Set the Drag source UI
			IDropTargetAdvisor adv = GetDropTargetAdvisor(sender as FrameworkElement);
			adv.TargetUI = sender as UIElement;

			// get the data
			// get the UIFeedback
			UIFeedback = adv.GetVisualFeedback(e.Data);
			DoubleAnimation anim = new DoubleAnimation(0.75, new Duration(TimeSpan.FromMilliseconds(500)));
			anim.From = 0.25;
			anim.AutoReverse = true;
			anim.RepeatBehavior = RepeatBehavior.Forever;
			UIFeedback.BeginAnimation(UIElement.OpacityProperty, anim);
			UIFeedback.IsHitTestVisible = false;

			// add it to the adornment layer
			AdornerLayer layer = AdornerLayer.GetAdornerLayer(sender as UIElement);
			Overlay = new DropPreviewAdorner(UIFeedback, sender as UIElement, layer);
			layer.Add(Overlay);
			Overlay.Location = GetOverlaypoint(sender, e);
		}