It's been on my mind for a while. Let's say that I have a simple app made in WPF with single rectangle inside a canvas. I can move this rectangle with Canvas.Left and Canvas.Top on mousemove. But let's say I want also to change colour of this rectangle, based on some calculation and change its width and height. I can do that by binding dependency properties from my viewmodel. However, as my project progress, my viewmodel became bigger and bigger. I would love to encapsulate some of its logic in separated objects. So i create a class for my Rectangle, containing properties like background, posX, posY, width and height.
The thing is, all those properties are view specific. In other words, this object isn't belonging to buisness logic of application (If I understand those concepts well, I'm still learning). So the question is, where I should contain class of this object? In model or in a helper layer of MVVM.
Thanks for answers.