这一直在我脑海中一段时间。比方说,我有一个简单的应用程序在WPF中使用一个画布内的单个矩形。我可以用Canvas.Left和Canvas.Top在mousemove上移动这个矩形。但是,让我们说我也想改变这个矩形的颜色,根据一些计算并改变它的宽度和高度。我可以通过绑定我的viewmodel中的依赖属性来实现。然而,随着我的项目进展,我的视角模型变得越来越大。我很想将它的一些逻辑封装在分离的对象中。所以我为我的Rectangle创建了一个类,其中包含诸如背景,posX,posY,宽度和高度等属性。WPF MVVM,我应该在哪里放置视图特定的属性?
问题是,所有这些属性都是视图特定的。换句话说,这个对象不属于应用程序的商业逻辑(如果我理解这些概念,我仍然在学习)。所以问题是,我应该在哪里包含这个对象的类?在模型中或MVVM的帮助器层中。
感谢您的回答。
你应该有模型'Rectangle'与POSX,波西,颜色。在Vm中,您可以通过绑定视图来实现模型。如果您的视图模型变得太大,您可以重构更常见的元素,例如, 'CalculatePositionOffset'可以在其他类中,如果它可以计算其他事情的位置偏移量。有时候虚拟主机很大,就是这样。 – FCin