在Windows Universal App上拖放文件

时间:2015-11-15 03:01:02

标签: c++ directx uwp

如何在Windows Universal App上拖放文件?

我发现的唯一教程就是这个: https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/XamlDragAndDrop

然而,它在XAML UI对象上运行,而我有一个DirectX游戏,根本不使用XAML。

我想要的只是将文件拖放到应用程序窗口(不是单个UI元素,而是整个窗口),并在事件回调中获取文件的完整路径。

我正在使用C ++,这需要适用于Windows 10 Universal App。

1 个答案:

答案 0 :(得分:0)

您能不能让我知道为什么您不想将XAML用于这种情况?由于UWP XAML UI控件对拖放功能提供了非常方便的支持,并且它还支持通过C ++与DX互操作。 This online tutorial可能会有所帮助。通过此在线帮助,您可以发现您可以自定义您自己的控件,以便根本不显示UI。

如果您想在没有XAML帮助的情况下实现拖放文件,则需要大量工作:将文件拖到UWP游戏意味着在应用之间共享数据,因此您的实施需要遵循UWP data sharing pattern,这意味着您需要重新编码XAML UIElement已经封装的所有内容,例如:实现DropTarget控件模式。

对于你的情况,如果你只想打开文件,那么File Picker更简单方便。如果您仍想支持拖放,强烈建议互操作XAML和DX。在这里,您可以找到有用的guideline。您可以使用C ++构建应用程序,这将满足您对保存内存和提高性能的关注。

如果您有任何疑问,请与我们联系。