代码之家  ›  专栏  ›  技术社区  ›  Birdman

如何以MVC格式设置WPF项目?

  •  0
  • Birdman  · 技术社区  · 5 年前

    我一直在研究如何更好地划分WPF项目。到目前为止,这个例子对我来说最有意义(MVC风格):

    enter image description here 资料来源: https://www.codemag.com/Article/1201061/CODE-Framework-Writing-MVVM-MVC-WPF-Applications

    所以我正在努力找出最好的方法来把我的项目按这种方式进行分配。在每个表单的WPF项目中,默认情况下都会创建一个.xaml文件,然后创建一个.cs文件(控制器?)嵌套在其中。

    enter image description here

    问题:

    1. .xaml文件是否总是“视图”?
    2. .xaml.cs文件是否始终是“控制器”?
    3. 由于在WPF结构中,默认情况下不会创建“模型”,因此我设置项目结构的步骤应如下所示:
      a.)将.xaml与.xaml.cs文件分开。
      b.)将分离的.xaml文件放在视图文件夹中
      c.)将分离的.xaml.cs文件放入控制器文件夹
      d.)创建模型文件夹
      e.)在models文件夹中创建新类,该类将由我们放入controllers文件夹中的.xaml.cs控制器文件使用。

    这看起来准确吗?我正在努力为面试安排我的代码,所以我很感谢你的建议。

    0 回复  |  直到 5 年前
        1
  •  0
  •   mm8    5 年前

    .xaml文件是否始终是“视图”?

    对。

    .xaml.cs文件是否始终是“控制器”?

    不,这是视图的代码隐藏文件。默认情况下,它调用编译器生成的 InitializeComponent( )方法加载在中定义的XAML标记 .xaml 文件。请看 this thread 更多信息。中的标记 XAML 以及密码 .xaml.cs 是同一视图的分部类。他们属于一起。

    a.)将.xaml与.xaml.cs文件分开。

    不,因为上面提到的原因,这是没有意义的。

    b.)将分离的.xaml文件放在视图文件夹中

    您可以将视图放在单独的文件夹中,但这包括 .xaml.cs版本 文件也是。

    c.)将分离的.xaml.cs文件放入控制器文件夹

    不,这里没有“控制器”的概念。

    d.)创建模型文件夹

    当然。

    e.)在models文件夹中创建将由.xaml.cs文件使用的新类

    这是一个选项,但是您通常会创建一个视图模型类,该类引用模型并公开视图绑定到的属性。请参阅 this blog post 对于模型视图视图模型(MVVM)设计模式的一些基本介绍, 这个 开发基于XAML的UI应用程序时使用的推荐设计模式。如果你用谷歌或必应搜索,你会发现更多的信息和例子。