gpt4 book ai didi

c# - 使用 Prism 和 MVVM 模式在 WPF 中创建模态对话框的 "pretty"方法

转载 作者:可可西里 更新时间:2023-11-01 02:58:54 26 4
gpt4 key购买 nike

昨天我使用谷歌找到了一些方法来在 WPF 中使用 PRISM 4.1 和 MVVM 模式制作一个很棒的可重用模式对话框。我找到了一些例子,但我必须说,没有一个像我喜欢的那样“漂亮”。

这个:WPF Modal Dialog (没有 mvvm -> 没有用)

这很好:Showing Dialogs when using the MVVM Pattern (但它仍然使用自制的 ServiceLocator,我不需要它,因为我正在使用 IUnity 容器。我可以使用逻辑并将其重写为 Unity,但在我看来,这不是“漂亮”的方式。

在网络上搜索信息一段时间后,一些博客(现在找不到来源)告诉我 PRISM 框架有一个叫做“交互请求”的东西。所以我查看了 prism 文档,在“高级 mvvm 场景”主题下找到了一小部分,但文档中提供的信息还不够。

我想知道是否有人有关于如何使用 mvvm 在 prism wpf 中实现一个很棒的模态对话框的好例子或好博文。

编辑:关于评论中的问题:

What makes a modal dialog awesome?

确实是个好问题。

  1. 它必须是模态的(当对话框打开时,UI 的其余部分应该冷冻)
  2. 对话框 View 可以有自己的 View 模型或至少我想给对话框一个对象的实例查看并返回一个对象给父 View
  3. View 应该是一个自己的“xaml”文件
  4. 来自 .NET 的 dialogresult 功能或至少一种获得用户在对话框中单击的内容的响应的方法

最佳答案

PRISM 5.0 提出了显示模态对话框的快速解决方案。使用 PopupWindowAction。

<prism:InteractionRequestTrigger SourceObject="{Binding CustomPopupViewRequest, Mode=OneWay}">
<prism:PopupWindowAction>
<prism:PopupWindowAction.WindowContent>
<views:CustomPopupView />
</prism:PopupWindowAction.WindowContent>
</prism:PopupWindowAction>
</prism:InteractionRequestTrigger>

关于c# - 使用 Prism 和 MVVM 模式在 WPF 中创建模态对话框的 "pretty"方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21301981/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com