我正在使用微软template studio(explanation here)中实现的拖放服务。我想,我了解它的工作方式,并且已经阅读了微软提供的基本拖放工具的文档,但仍然不知道,如何自定义我的DD。
我想通过使用DD移动UIElement来传输从自定义类派生的对象,并且根据Microsoft的文档,我应该以某种方式自定义DataPackage。我的问题是,我真的不明白,在哪里以及如何将我的自定义对象 Package 到DataPackage中。
我认为以下问题的作者也有过非常相似的问题:
我正在使用微软template studio(explanation here)中实现的拖放服务。我想,我了解它的工作方式,并且已经阅读了微软提供的基本拖放工具的文档,但仍然不知道,如何自定义我的DD。
我想通过使用DD移动UIElement来传输从自定义类派生的对象,并且根据Microsoft的文档,我应该以某种方式自定义DataPackage。我的问题是,我真的不明白,在哪里以及如何将我的自定义对象 Package 到DataPackage中。
我认为以下问题的作者也有过非常相似的问题:
2条答案
按热度按时间yquaqz181#
当涉及到自定义数据时,DataPackage只支持IRandomAccessStream和标量类型的实现,这里包括string。你可以找到更多的细节here。
您有两个选项:把你的数据放在IRandomAccessStream的一个示例中,或者放在一个字符串中。前者适合于大量的数据。让我们假设我们使用后者来简化。
要点:
然后在拖放目标中,获取您自己格式的数据:
um6iljoc2#
您可以通过DragStartEventArgs(args)参数(DragStarting事件)中DataPackage对象的.Properties集合“打包”任何自定义(数据)对象;例如:
通过DragEventArgs(e)参数中的DataPackageView对象,恢复目标的Drop事件中的对象;例如: