im 使用依赖项属性实现一种非常常见的拖放操作方法,部分代码如下所示
问题是,我需要从 draggedItem(定义为对象类)中获取信息,这对于应用程序中的其他计算很重要
我怎样才能访问数据?可能吗?或者我应该draggedItem
定义为另一种类型?提前感谢!
private void DropTarget_PreviewDragOver(object sender, DragEventArgs e)
{
object draggedItem = e.Data.GetData(this.format.Name);
DecideDropTarget(e);
if (draggedItem != null)
{
// Dragged Adorner is only updated here - it has already been created in DragEnter.
ShowDraggedAdorner(e.GetPosition(this.topWindow));
UpdateInsertionAdornerPosition();
}
e.Handled = true;
}
在使用它的任何成员之前,您必须确切地知道draggedObject
是什么类型。如果已创建通用拖放功能,则需要添加类型为 Type
的属性,该属性将指定甚至验证正在拖动的数据类型。例如,如果您知道您的draggedObject
属于 Address
类型,那么您可以简单地强制转换它,然后使用如下所示的属性:
object draggedItem = e.Data.GetData(this.format.Name);
Address draggedAddress = (Address)draggedItem;
DoSomethingWith(draggedAddress.PostCode);