2017-09-20 48 views
1

在本機UWP應用中,我們可以通過調用DataTransferManager.ShowShareUI方法來顯示共享UI。無法在桌面橋接應用中顯示共享UI

DataTransferManager.ShowShareUI(); 

中調用一個桌面應用程序橋這個方法引發了一個異常:

找不到元素。

這種方法,而應用程序是在後臺

這是一種預期的橋樑應用程序不使用UWP的UI元素不能被調用。所以我試圖用它應該在原生Win32應用程序中完成的方式。

在原生Win32應用程序中,我們可以通過調用DataTransferManagerHelper.ShowShareUIForWindow方法來顯示共享UI。但是,在桌面橋接應用程序(運行在應用程序上下文中)中的這個調用除了崩潰之外沒有任何其他功能。如果應用程序不是作爲橋應用程序運行,而是作爲本機Win32應用程序運行,則完全相同的代碼有效。

IntPtr hwnd = new WindowInteropHelper(Application.Current.MainWindow).Handle; 
DataTransferManagerHelper.ShowShareUIForWindow(hwnd); 

任何幫助表示讚賞。

這個問題已經固定在構建17024.更新我成功運行的代碼打開最新內幕建設(17101)股份UI。

+0

感謝您報告此Mehrzad可用 - 這聽起來並不像預期的行爲。我們正在調查。 –

+0

@StefanWickMSFT感謝Stefan的迴應,希望將來能夠獲得此更新。 –

+0

此修復程序已在公開Windows Insider內部發布幾個星期。如果您有機會嘗試,請告訴我,如果您仍然看到任何問題。再次感謝您的報告! –

回答

1

我確認這是一個錯誤。一旦錯誤得到修復,ShowShareUIForWindow()將成爲調用您的場景的正確API。

我已經將錯誤分配給了正確的團隊。

謝謝你報告問題!

更新

修復在建17024及以上

+0

此修復程序已在公共Windows內部版本中發佈幾個星期。如果您有機會嘗試,請告訴我,如果您仍然看到任何問題。再次感謝您的報告! –

+0

感謝您的更新並修復了Bug Stefan!我想我會等到下一次官方更新,或者如果我有空閒時間安裝內部版本,我會更快。當我嘗試時,我會讓你知道。 –

+0

我測試了構建17101上的代碼,它現在可用了!謝謝。 –