【发布时间】:2018-02-17 05:58:28
【问题描述】:
在原生 UWP 应用中,我们可以通过调用DataTransferManager.ShowShareUI 方法显示共享 UI。
DataTransferManager.ShowShareUI();
在桌面桥应用程序中调用此方法会引发异常:
未找到元素。
应用在后台时无法调用此方法
这是意料之中的,因为桥接应用不使用 UWP 的 UI 元素。所以我尝试使用它应该在本机 Win32 应用程序中完成的方式。
在原生 Win32 应用程序中,我们可以通过调用 DataTransferManagerHelper.ShowShareUIForWindow 方法显示共享 UI。但是,桌面桥应用程序(在应用程序上下文中运行)中的此调用只会导致崩溃explorer.exe。如果应用程序不是作为桥应用程序而是作为本机 Win32 应用程序运行,则完全相同的代码可以工作。
IntPtr hwnd = new WindowInteropHelper(Application.Current.MainWindow).Handle;
DataTransferManagerHelper.ShowShareUIForWindow(hwnd);
感谢任何帮助。
更新
此问题已在版本 17024 上得到修复。我成功运行代码以在最新的内部版本 (17101) 上打开共享 UI。
【问题讨论】:
-
感谢您报告此 Mehrzad - 这听起来不像预期的行为。我们正在调查。
-
@StefanWickMSFT 感谢 Stefan 的回复,希望以后能得到更新。
-
该修复程序已在公共 Windows Insider 版本中提供了几周时间。如果您有机会尝试,请让我知道您是否仍然发现任何问题。再次感谢您的报告!
标签: uwp desktop-bridge