There's any number of things you could have done differently, but you did it "right" as far as what's needed by the pattern. Please not I'm not suggesting there's anything I'd do different, just pointing out there's a lot of different takes when it comes
to implementing the pattern. Things like "View first" (which is what you did) and "ViewModel first", for example.
If there's no business logic in the code behind, minimal to no UI code in the code behind, and you have a testable ViewModel, you've done things "right".
Okay, that means I understand the pattern then, which is good. It's definitely different using commands instead of events.
Thanks everyone for your posts. It's good to see things from a different perspective.
Oh, one last question. My commands (currently just a save and a load) are in the ViewModel, as are the functions they call when executed. Since these functions are just simple mappings to functions in the Model, would it be "wrong" to attach the command
execute directly to the model?