使用WinForm和MVC时更改视图

时间:2012-10-16 10:53:24

标签: c# winforms

作为学校项目的一部分,我和一个团队将使用C#开发一个Windows应用程序。 我们在C#方面不是很有经验,但对它有一些基本的了解。但是,我们拥有其他语言和平台的经验。

我们希望构建一个应用程序,其中布局分为两个主要部分:菜单,它将位于左侧,内容位于右侧。 菜单将或多或少是静态的,当选择菜单中的条目时,内容将被更改。

我们未能找到实现这一目标的最佳方法,也未能找到有关此问题的优质材料。我的想法是有一个窗口并添加一个视图(据我所知,这应该是一个UserControl?)到这个窗口。该控件将是菜单。

现在,我们的问题是,是否有人可以指出我们在正确的方向上实现程序中的导航。比如说,当点击菜单条目时,我们将如何更改窗口的内容以及我们如何管理哪个视图处于活动状态?我想每个视图(在“内容区域”中)都有一个控制器。 我们对使用WinForms和MVC模式时的“最佳实践”感兴趣。

我们希望有人能够在这个项目中进一步帮助我们。

2 个答案:

答案 0 :(得分:1)

如果我是你,我会认真考虑使用WPF而不是winforms。

它和MVVM模式的使用允许你使用远远少于使用winforms的代码来做一些非常令人印象深刻的东西。如果你还不知道winforms那么它也可能是一个稍微不那么陡峭的学习曲线,因为WPF是一个更好的思考框架(至少在我看来)。

如果你去WPF路线花一些时间来了解绑定的工作方式以及如何将ViewModel绑定到UI。一旦你对正确的UI分离有了很好的理解,你就可以比使用旧的WinForms框架做得更多。

当我第一次看到WPF时,我发现这个link非常有用。特别是RelayCommand。

答案 1 :(得分:0)

如果您使用的是Winforms,您可以选择:

- 动态清除表单并在菜单导航上生成内容

- 使用mdi容器表单,它可以是多个子表单的父表单

如果您使用的是WPF,则可以根据使用的菜单选项加载Frame控件中的Pages。您还可以使用MVVM模式构建您的应用程序。