MVVM C#逻辑和视图在同一个函数中

时间:2015-05-06 07:40:42

标签: c# wpf mvvm

我有一个带有图片组件的表单:Image
我想在这张图片中获得真正的鼠标位置 为此,我使用位于函数

下面的formule
mouseXInImage = MouseXInComponent / ComponentWidth  * ImageSourceWidth
mouseYInImage = MouseYInComponent / ComponentHeight * ImageSourceHeight 

ComponentWidthComponentHeight是视图的一部分。 所以我的问题是关于MVVM模式:这个函数应该在哪里?

在代码背后? (因为看法,但也有逻辑)
在视图模型中? (因为逻辑,但有观点)

由于

1 个答案:

答案 0 :(得分:5)

这可能是个争论的问题,但对我而言,它看起来像是一个与UI相关的问题。逻辑链接到您的UI。因此,在视图的代码隐藏中可能会更有意义。

你可以问自己的一件事是"如果我将这个代码重新用于其他类型的应用程序(桌面,移动,银光等),代码仍然有效吗?如果您回答是,那么放入VM可能会很有趣,否则在视图中(代码隐藏)会更好。