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

Epi*_*lle 2 c# wpf mvvm

我有一个带有图像组件的表单:Image
我希望在此图像中获得真正的鼠标位置.
为此,我使用位于函数中的下面的formule

mouseXInImage = MouseXInComponent / ComponentWidth  * ImageSourceWidth
mouseYInImage = MouseYInComponent / ComponentHeight * ImageSourceHeight 
Run Code Online (Sandbox Code Playgroud)

ComponentWidth并且ComponentHeight是观点的一部分.所以我的问题是关于MVVM模式:这个函数应该在哪里?

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

谢谢

Gim*_*mly 5

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

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