private void RenderPane_OnDragDrop(object sender, System.Windows.Forms.DragEventArgs e) { var dataObj = GetDataObject(e); var viewModel = (ViewportViewModel)DataContext; viewModel.OnPreviewDragDrop(sender, dataObj); }
private System.Windows.DataObject GetDataObject(System.Windows.Forms.DragEventArgs e) { var info = e.Data.GetType().GetField("innerData", BindingFlags.NonPublic | BindingFlags.Instance); var obj = info?.GetValue(e.Data); info = obj?.GetType().GetField("innerData", BindingFlags.NonPublic | BindingFlags.Instance); return(info?.GetValue(obj) as System.Windows.DataObject); }
private void RenderPane_OnDragOver(object sender, System.Windows.Forms.DragEventArgs e) { var dataObj = GetDataObject(e); var viewModel = (ViewportViewModel)DataContext; var effect = (System.Windows.DragDropEffects)e.Effect; viewModel.OnPreviewDragOver(sender, dataObj, ref effect); e.Effect = (DragDropEffects)effect; }