c# - MVVM C#​​ 逻辑和 View 在同一函数中

标签 c# wpf mvvm

我有一个带有图像组件的表单:Image
我想获得该图像中的真实鼠标位置。
为此,我使用下面的公式,该公式位于函数中

mouseXInImage = MouseXInComponent / ComponentWidth  * ImageSourceWidth
mouseYInImage = MouseYInComponent / ComponentHeight * ImageSourceHeight 

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

在后面的代码中? (因为有观点,但也有逻辑)
在 View 模型中? (因为有逻辑,但是有 View )

谢谢

最佳答案

这可能是一个有争议的问题,但对我来说,它看起来像是一个与 UI 非常相关的问题。该逻辑链接到您的 UI。因此,它在 View 的代码隐藏中可能更有意义。

您可以问自己的一件事是“如果我在其他类型的应用程序(桌面、移动、silverlight 等)中重复使用此代码,该代码是否仍然有效?如果您回答是,那么它可能会很有趣放在VM中,否则放在 View (代码隐藏)中更好。

关于c# - MVVM C#​​ 逻辑和 View 在同一函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30070451/

相关文章:

c# - 如何在 WPF 中呈现之前获取标签宽度

WPF:将格式应用于 RichTextBox 的快速方法

c# - 索引 WPF 选项卡控件

mvvm - 无法从主视图绑定(bind) UserControl

c# - 返回空任务还是返回 null 更好? C#

c# - `nameof()` 在当前上下文中不存在?

用于在不同程序集中定义的类型的 WPF 工具箱安装程序

c# - 发布 WPF .Net Core 3 应用程序和 Serilog.Sinks.File

c# - 如何修复 Xamarin.Forms 条目附加属性 "Bleed Over"?

c# - Visual Studio 2010 编辑器停止工作