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;
        }