void AssociatedObject_DragEnter(object sender, DragEventArgs e) { e.Handled = true; //initialize adorner manager with the adorner layer of the itemsControl if (_insertAdornerManager != null) { return; } var s = sender as DataGrid; if (s != null) { _insertAdornerManager = new ListBoxAdornerManager(AdornerLayer.GetAdornerLayer(s)); } if (_dataType != null) { return; } //if the DataContext implements IDropable, record the data type that can be dropped if (AssociatedObject.DataContext == null) { return; } if (AssociatedObject.DataContext as IDropable != null) { _dataType = ((IDropable)AssociatedObject.DataContext).DataType; } }
private void AtDragEnter(object sender, DragEventArgs e) { if (_dataType == null) { //if the DataContext implements IDropable, record the data type that can be dropped if (AssociatedObject.DataContext != null) { if (AssociatedObject.DataContext as IDropable != null) { _dataType = ((IDropable)AssociatedObject.DataContext).DataType; } } } //initialize adorner manager with the adorner layer of the itemsControl if (_insertAdornerManager == null) { _insertAdornerManager = new ListBoxAdornerManager(AdornerLayer.GetAdornerLayer((ItemsControl)sender)); } e.Handled = true; }