微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将Prism 6.2.0更新为8.0后WPF InteractionRequest无法正常工作

如何解决将Prism 6.2.0更新为8.0后WPF InteractionRequest无法正常工作

我已将使用Prism 6.2.0的WPF项目构建更新为Prism 8.0。我正在使用.NET Framework 4.7。

我在应用程序的很多地方都使用InteractionRequest,以便打开一个弹出窗口来收集用户信息。更新项目后,出现此错误

找不到类型或名称空间'InteractionRequest '。您是否缺少程序集引用或using指令?

添加了使用Prism.Interactivity

有人知道如何解决此问题吗? InteractionRequest在Prism 8.0中是否已弃用?如果是的话,我该如何替代该功能

解决方法

Prism 7.2.0.1367中的InteractionRequestPopupWindowAction API被新的对话框服务所替代。以下GitHub问题涵盖了这样做的原因:

引用release notes的Brian Lagunas:

当前,使用Prism显示任何类型的对话框的唯一方法是将PopupWindowAction与System.Windows.Interactivity结合使用。 [...]它过于复杂,冗长,难以实施且非常有限。 [...]

相反,我创建了一个新的IDialogService API,它将完全替代PopupWindowAction。该服务将使开发人员能够显示他们想要模态对话框或非模态对话框,并完全控制其对话框逻辑。

您可以参考dialog service documentation来学习如何使用它并进行迁移。另请注意,Prism 8添加了对多个对话框窗口主机的支持,Prism 7.x不支持。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。