如何在UWP应用程序中的ListView之间拖放自定义对象?
我想在UWP应用程序中的如何在UWP应用程序中的ListView之间拖放自定义对象?,listview,uwp,uwp-xaml,Listview,Uwp,Uwp Xaml,我想在UWP应用程序中的ListViews之间拖放自定义对象。ListViews包含基于自定义对象的ListViewItems 当我尝试实现所需的功能时,我似乎被StandardDataFormats类提供的选项所束缚。他们似乎都不适合我想做的事情,当我尝试类似的事情时 private void ListViewOne_DragItemsStarting( object sender, DragItemsStartingEventArgs e ) { e.Data.RequestedOp
ListView
s之间拖放自定义对象。ListView
s包含基于自定义对象的ListViewItem
s
当我尝试实现所需的功能时,我似乎被StandardDataFormats
类提供的选项所束缚。他们似乎都不适合我想做的事情,当我尝试类似的事情时
private void ListViewOne_DragItemsStarting( object sender, DragItemsStartingEventArgs e )
{
e.Data.RequestedOperation = DataPackageOperation.Move;
e.Data.SetData( StandardDataFormats.StorageItems, ListViewOne.Items.First() );
}
我得到一个COMException
,告诉我不能从传递的元素创建StorageItem
对象
尝试使用不同的字符串作为SetData
方法的参数时,会引发异常,表示DataPackage元素不支持该值的数据类型:
e.Data.SetData( "Custom", ListViewOne.Items.First() );
StandardDataFormats.StorageItems
是为从应用程序中的资源管理器拖动文件而保留的。这就是为什么当您尝试设置COM异常时,会得到一个COM异常-该格式的值不受支持
由于您试图在应用程序内移动对象,因此不需要在有效负载中发送整个对象,只需在StandardDataFormats.Text
payload中发送唯一标识符即可
这是如何实现这一目标的一个很好的例子