c# - 您如何使用 C# WinForms 在 MVP 中的 View 之间导航?

标签 c# winforms design-patterns mvp

据我了解,当我们使用 MVP 时,我们会将所有表示逻辑移至 Presenter。但是我们不想让 Presenter 知道 View 的实现,那么我们如何导航到应用程序中的另一个屏幕呢?您如何管理实际应用程序的应用程序流程?

最佳答案

使用一些导航界面,例如:

interface INavigator
{
    void MoveTo (string screenName);
    void MoveTo (string screenName, NavigationParameters parameters);
}

然后每个演示者都会在构造函数中传递一个导航器的实例。通过这种方式,导航与演示者和各个 View 都分离了。

您可以在配置中定义屏幕名称和实际表单类之间的映射。

关于c# - 您如何使用 C# WinForms 在 MVP 中的 View 之间导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/707955/

相关文章:

c# - 我可以将 HTML 按钮触发器添加到更新面板吗

java - 寻找基于输入参数的类创建和配置模式

design-patterns - 状态机和状态模式的实现有什么区别?

c++ - 单例类实现版本

c# - Thread.Yield 是否会让 CPU 进行上下文切换到同一进程或同一处理器中的其他线程?

c# - 将 int 转换为字节数组时的不同结果 - .NET 与 Java

c# - ASP.Net Core Cookie 身份验证不是持久的

c# - SaveFileDialog不显示在新线程中吗?

c# - 如何在 C# 代码隐藏中将 PrintPreviewDialog 纸张大小设置为 a5?

c# - 如何在 GDI+ 中对具有真实形状测量值(英寸)的旋转形状进行 HitTest ?