CSLA .NET includes enough functionality that you can consider it to be a basic MVVM framework, yes.
MVVM is a design pattern, not a technology. It merely specifies that you have a view, a viewmodel (1 or more) and a model. To make this work, the only thing that's really missing in XAML is a general way to invoke methods on the viewmodel in response to arbitrary UI events, and CSLA does this through InvokeMethod and Execute (depending on whether you want to use Interactivity or not).
Technically nothing else is required to be an "MVVM framework".
This is not to say that CSLA is a UI framework. That is a whole other thing, and requires MVC/MVP or other UI patterns and runtime elements. I don't plan to go there :)
I've posted and blogged a few times about the two general types of viewmodel - the lots-of-work type where the VM replicates much/all of the Model. That's good (required) for an anemic Model, but is really pretty silly if you have a rich model. Then there's the type of VM that exposes and extends the Model, often requiring very work to create the viewmodel. This works great for a rich Model (like CSLA objects), but is pretty useless with an anemic model.
You can't arbitrarily say one or the other is "right", because it depends entirely on whether you have an anemic or rich model.
Copyright (c) Marimer LLC