2017-04-20 61 views
0

我有一個我在WPF中創建的應用程序。目前在WPF中,我使用Microsoft.Win32.SaveFileDialog文件選取器讓用戶選擇要保存的文件位置。如何在WPF應用程序中通過桌面應用程序轉換器轉換爲UWP應用程序打開文件對話框

我正在通過桌面應用程序轉換器應用程序將此應用程序轉換爲與Windows應用商店兼容的應用程序。當我在UWP轉換的應用程序中使用Win32選取器時,它會掛起並最終崩潰,所以看起來並不快樂。

它看起來像是一個UWP兼容的文件選取器Windows.Storage.Pickers.FileSavePicker,它可以使用Nuget包UWPDesktop

不幸的是,這是給我下面的警告 -

類型「Windows.Storage.Pickers.FileSavePicker」只能在UWP應用,而不是桌面或百年

使用這似乎對我來說很清楚,所以,最後我的問題是我應該使用桌面轉換器UWP應用程序的對話框選擇器?

好像有2個選項 -

  1. 有某種第3類型的,我不知道的文件選擇的,這是與這兩個框架兼容。
  2. 我在應用程序中使用某種檢查來查看哪些框架處於活動狀態(以某種方式)並使用適當的文件選擇器。

在此先感謝!

+0

你用什麼過程來轉換應用程序?你是否曾試圖讓應用成爲「純粹的」UWP(僅使用新的API,新的UI等),還是將WPF應用作爲一個完全信任的EXE進行打包? –

+0

該應用程序基本上是完整的,所以我堅持使用WPF UI。我正在使用Windows應用商店中的桌面應用轉換器來執行此操作。除了對話框外,其他所有功能都可以使最初我創建了自定義對話框,但實際上,我很好地使用內置的對話框。 – chris84948

回答

0

我最終建立一個只包含在其他空應用有問題的對話框一個示例應用程序,擁有超過MS將其發送到斯特凡的計劃。

當然,一切看起來不錯,所以我玩了一會兒,最終弄清楚可能發生了什麼。

在執行對話框之前,我正在運行一些異步代碼,它看起來像會失敗默默無聞,導致應用程序無限期掛起。

我不認爲這會幫助任何人,只是想關閉循環。

3

您可以繼續在轉換後的WPF應用程序中使用Win32選取器。這是支持和預計工作。

要回答爲什麼你會在這裏看到崩潰: 如果您安裝了Office 2016,最近出現了一個Office更新引起的錯誤,導致文件選取器對話框崩潰以轉換應用程序。修復這個錯誤應該很快就會在服務更新中熄滅。

要確認這確實是您正在點擊的錯誤,您可以查看應用程序的崩潰報告,並且您應該在模塊grooveex.dll中看到崩潰。

感謝, 斯特凡威克 - Windows 8開發平臺

+0

我剛剛查過,我只有Office 2013.是否顯示相同的問題?此外,今天再次測試時,應用程序似乎永遠不會完全崩潰,它會永遠超時,然後崩潰Explorer,並且在那一刻我必須重新啓動計算機。這是這個bug的預期行爲嗎? – chris84948

+0

已知的bug特定於某些Office 2016版本。如果Explorer崩潰,這聽起來像是一個不同的問題。請與我聯繫[swick在microsoft.com]與具體細節,以便我們可以跟進。謝謝! –

相關問題