带有对话框的MVVM WPF Scientific应用程序

时间:2012-03-28 14:41:36

标签: c# wpf mvvm logic prism

我正在将现有的C ++ / CLI应用程序移动到C#/ WPF。在编写初始应用程序时,没有进行任何设计。应用程序能够加载一个或多个图像文件(一次只能看到一个图像),还可以选择连接到显微镜并实时查看和保存图像(显微镜显示在同一图像框中的图像)作为装载的)。然后,有很多具有不同设置的对话框。主视图上有按钮可根据当前加载的图像文件和选定的设置进行不同类型的计算。

有一个按钮可以将图像加载到另一个窗口,该窗口具有更多功能 - 从加载的文件制作电影,计算统计数据等。

我是C#/ WPF世界的新手,但想要做一个漂亮的设计。我做了一些研究,看起来MVVM是主要用于WPF的模式。现在我正在读PRISM。我或多或少了解MVVM正在发生什么,但还不能将其逻辑应用于我的情况。可能我应该坚持使用MVC吗? - 但是对于如何在WPF中使用它并没有太多的参与...我找到了关于在哪里放置对话框的例子,但是不知道在哪里进行我的计算...看起来他们不属于M / MV / V。另外,我无法理解我是否只能有一个模型与许多ViewModel相关联。

1 个答案:

答案 0 :(得分:1)

首先,这是常见的误解。

MVVM就像MVC一样是模式。有各种框架可以帮助您使用MVVM。 MVVMLight,Caliburn就是一些例子。我认为您需要了解MVVM是什么,然后寻找不同的实现。就个人而言,我编写了自己的基本View Model类,这就是MVVM

PRISM是一个框架,实际上它几乎与MVVM无关。它确实提供了INotifyPropertyChanged实现,但就是这样。

PRISM是一个很大的框架,学习它需要时间。这不是你今晚可以开始使用的东西。然而,它是“一个小车”,这意味着你不必使用它提供的一切,只能使用你需要的东西。

我越了解越多,我意识到PRISM解决了在开发具有大量UI的大型业务应用程序时将遇到的所有问题。对我来说,投入学习的时间肯定会得到回报。

它提供了区域,模块化,消息传递,IoC以及构建大型应用程序时所需的其他内容。看到更大的图片后,MVVM看起来很小很容易。