gpt4 book ai didi

mvvm - 使用弹出对话框和 Prism4 掌握详细信息

转载 作者:行者123 更新时间:2023-12-03 10:24:37 29 4
gpt4 key购买 nike

有人问过这个问题的版本,但我认为这不是重复的。我正在用 C#/Prism4 构建一个 LOB 应用程序,并且我试图从第一天起就获得正确的架构。该应用程序将(最终)具有相当多的主/详细信息屏幕以及带有可编辑的嵌入式网格的编辑屏幕。例如:显示能够通过弹出屏幕添加或编辑的用户列表。

目前,我在想一个简单的解决方案是将对话框作为隐藏面板数据绑定(bind)到相同的 View 模型,其可见性由数据绑定(bind)控制。要编辑用户(使用上面的示例),请复制要编辑的数据,然后将 IsInEditMode 标志设置为 true 以显示对话框。然后,普通命令可以捕获“保存”/“取消”按钮以更新模型(或不更新)。

虽然这听起来很容易实现,但感觉有点不对劲。存在关注点分离,感觉就像是 View 模型被多路复用。

我遇到了 Prism InteractionRequest 指南,但这似乎更适合简单的弹出窗口(“你确定要取消吗?”)。

我需要一个可以跨越数十个屏幕的解决方案。它必须简单且易于维护。

提前致谢。

最佳答案

一般的方法是有一个所谓的对话服务,其界面如下:

public interface IDialogService
{
bool? ShowDialog<TViewModel>(TViewModel viewModel);
}

每当你需要显示一个对话框时,你调用 ShowDialog 方法传递对话框的 View 模型。剩下的就是服务了。它可以显示隐藏面板、真实对话窗口或弹出窗口——这取决于实现,而调用方对此一无所知。

关于mvvm - 使用弹出对话框和 Prism4 掌握详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4644333/

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