在原生UWP应用中,我们可以通过调用DataTransferManager.ShowShareUI方法来显示共享用户界面。
DataTransferManager.ShowShareUI();
在桌面网桥应用中调用此方法会引发异常:
找不到元素。
当应用程序在后台时,无法调用此方法
这是预期的,因为桥接应用程序不使用UWP的UI元素。所以我尝试使用它应该在原生Win32应用程序中完成。
在原生Win32应用中,我们可以通过调用DataTransferManagerHelper.ShowShareUIForWindow方法来显示共享UI。但是,在桌面桥接应用程序(在应用程序上下文中运行)中的此调用只会导致explorer.exe
崩溃。如果应用程序不作为桥接应用程序运行,而是作为本机Win32应用程序运行,则完全相同的代码可用。
IntPtr hwnd = new WindowInteropHelper(Application.Current.MainWindow).Handle;
DataTransferManagerHelper.ShowShareUIForWindow(hwnd);
感谢任何帮助。
更新
此问题已在build 17024上修复。我成功运行了代码以在最新的内部版本(17101)上打开共享UI。
答案 0 :(得分:2)
我已经确认这是一个错误。一旦修复了错误,ShowShareUIForWindow()将成为调用场景的正确API。
我已经将错误分配给合适的团队了。
感谢您报告此问题!
<强>更新强>
修复版本在17024及以上版本中可用