我正在尝试将树视图(WPF)的某些项目拖放到DataGrid(WinForms)中。
不幸的是,我在drop事件中无法接收数据:
System.Windows.Forms.DragEventArgs e;
foreach (string format in e.Data.GetFormats(true))
{
object data = e.Data.GetData(format); //Returns null
}
我的data
始终为空。
我正在尝试获取“ ADClientAble”格式的数据:
如何访问属性innerData
?
我已经通过反射进行了尝试,但是没有用:
var oleConverterType = Type.GetType("System.Windows.DataObject+OleConverter, PresentationCore, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35");
var oleConverter = typeof(System.Windows.Forms.DataObject).GetField("innerData", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(e.Data);
var dataObject = (System.Windows.Forms.DataObject)oleConverterType.GetProperty("OleDataObject").GetValue(oleConverter, null); //Throws an error:
var item = dataObject.GetData(this.Format);
mscorlib.dll中发生了'System.Reflection.TargetException'类型的未处理异常
其他信息:对象与目标类型不匹配。