gpt4 book ai didi

c# - WPF MVVM,我应该把 View 的特定属性放在哪里?

转载 作者:太空宇宙 更新时间:2023-11-03 19:45:47 27 4
gpt4 key购买 nike

这件事已经在我脑海中浮现了一段时间。假设我有一个用 WPF 制作的简单应用程序,在 Canvas 内有一个矩形。我可以在 mousemove 上使用 Canvas.Left 和 Canvas.Top 移动这个矩形。但是假设我还想根据一些计算更改此矩形的颜色并更改其宽度和高度。我可以通过绑定(bind) View 模型中的依赖属性来做到这一点。然而,随着我项目的进展,我的 View 模型变得越来越大。我很乐意将它的一些逻辑封装在分离的对象中。因此,我为我的 Rectangle 创建了一个类,其中包含背景、posX、posY、宽度和高度等属性。

事实是,所有这些属性都是特定于 View 的。换句话说,这个对象不属于应用程序的业务逻辑(如果我很好地理解这些概念,我还在学习)。所以问题是,我应该在哪里包含这个对象的类?在 MVVM 的模型或辅助层中。

感谢您的回答。

最佳答案

View 模型公开 View 绑定(bind)到的属性,例如背景、posX、posY、宽度和高度属性。这就是 View 模型的用途。实际的业务逻辑与表现无关,属于模型。

因此您的“ View 特定”属性肯定属于 View 模型类。这些属性通常不是依赖属性,而只是 CLR 属性,但这是它自己的故事:

INotifyPropertyChanged vs. DependencyProperty in ViewModel

关于c# - WPF MVVM,我应该把 View 的特定属性放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45867400/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com