2017-04-20 143 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]与具体细节,以便我们可以跟进。谢谢! –

相关问题