MVVM C# 逻辑和视图在同一个函数中
MVVM C# Logic and view in the same function
我有一个带有图像组件的表单:Image
我想在此图像中获得真实的鼠标位置。
为此,我使用位于函数
中的下面的公式
mouseXInImage = MouseXInComponent / ComponentWidth * ImageSourceWidth
mouseYInImage = MouseYInComponent / ComponentHeight * ImageSourceHeight
ComponentWidth
和 ComponentHeight
是视图的一部分。
所以我的问题是关于 MVVM 模式:这个函数应该在哪里?
在后面的代码中? (因为观点,但也有逻辑)
在视图模型中? (因为有逻辑,但有观点)
谢谢
这可能是一个有争议的问题,但对我来说,它看起来像是一个与 UI 非常相关的问题。逻辑链接到您的 UI。所以它在视图的代码隐藏中可能更有意义。
您可以问自己的一件事是“如果我将此代码重新用于其他类型的应用程序(桌面、移动、silverlight 等),该代码是否仍然有效?如果您回答是,那么它可能放在 VM 中很有趣,否则在视图(代码隐藏)中更好。
我有一个带有图像组件的表单:Image
我想在此图像中获得真实的鼠标位置。
为此,我使用位于函数
mouseXInImage = MouseXInComponent / ComponentWidth * ImageSourceWidth
mouseYInImage = MouseYInComponent / ComponentHeight * ImageSourceHeight
ComponentWidth
和 ComponentHeight
是视图的一部分。
所以我的问题是关于 MVVM 模式:这个函数应该在哪里?
在后面的代码中? (因为观点,但也有逻辑)
在视图模型中? (因为有逻辑,但有观点)
谢谢
这可能是一个有争议的问题,但对我来说,它看起来像是一个与 UI 非常相关的问题。逻辑链接到您的 UI。所以它在视图的代码隐藏中可能更有意义。
您可以问自己的一件事是“如果我将此代码重新用于其他类型的应用程序(桌面、移动、silverlight 等),该代码是否仍然有效?如果您回答是,那么它可能放在 VM 中很有趣,否则在视图(代码隐藏)中更好。