据我了解,当我们使用 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/