0

我有一个在 WPF 中创建的应用程序。当前在 WPF 中,我正在使用Microsoft.Win32.SaveFileDialog文件选择器让用户选择要保存到的文件位置。

我正在通过 Desktop App Converter 应用程序将此应用程序转换为与 Windows Store 兼容的应用程序。当我在 UWP 转换的应用程序中使用 Win32 选择器时,它只是挂起并最终崩溃,所以这似乎并不令人愉快。

看起来有一个与 UWP 兼容的文件选择器Windows.Storage.Pickers.FileSavePicker,可以使用 Nuget 包获得UWPDesktop

不幸的是,这给了我以下警告-

类型“Windows.Storage.Pickers.FileSavePicker”只能用于 UWP 应用,不能用于桌面或 Centennial

这对我来说似乎很清楚,所以最后我的问题是我应该为桌面转换器 UWP 应用程序使用什么对话框选择器?

似乎有2个选项-

  1. 我不知道有某种第三种类型的文件选择器,它与两个框架都兼容。
  2. 我在应用程序中使用某种检查来查看哪个框架处于活动状态(不知何故)并使用适当的文件选择器。

提前致谢!

4

2 回答 2

3

您可以在转换后的 WPF 应用程序中继续使用 Win32 选择器。这是支持并预计会起作用的。

回答您在此处看到崩溃的原因:如果您安装了 Office 2016,则最近在 Office 更新中引入了一个错误,该错误导致文件选择器对话框在转换后的应用程序中崩溃。此错误的修复应该很快在服务更新中消失。

要确认这确实是您遇到的错误,您可以查看您的应用程序的崩溃报告,您应该会在模块grooveex.dll 中看到崩溃。

谢谢, Stefan Wick - Windows 开发者平台

于 2017-04-21T03:27:02.290 回答
0

我最终在一个空的应用程序中构建了一个示例应用程序,其中仅包含有问题的对话框,并计划通过 MS 将其发送给 Stefan。

当然,一切看起来都不错,所以我多玩了一会儿,最终弄清楚可能发生了什么。

在执行对话框之前,我正在运行一些异步代码,看起来这会静默失败,导致应用程序无限期挂起。

我认为这对任何人都没有帮助,只是想关闭循环。

于 2017-04-22T03:47:24.950 回答