How to make multiple-view model for a single view

Sep 21, 2010 at 10:22 AM

Hello.
I have an application with a view. This view is composed of four different areas.
I want a View-Model for each of these areas.

Is it possible?

Thank you.

Sep 21, 2010 at 1:03 PM

Yes. You might consider using a Conductor as base class for a root VM and expose the children VMs as properties of the root one.
Then, in the view associated to the root VM, you have to place 4 ContentControl(s) and name them accordingly to the property containing the child VM you want to "inject" in each area.

Coordinator
Sep 21, 2010 at 2:16 PM

Here is a recent thread that describes exactly what Marco is recommending: http://caliburnmicro.codeplex.com/Thread/View.aspx?ThreadId=227210

Sep 22, 2010 at 7:56 AM

Hello.
Thank you very much for the recommendation.

Now raises another question: I have a view composed of four sub-views.
In the View-Model of a sub-view, there is a change in one attribute and notify the change.
How I can propagate this change to the main view to refresh the changes in the sub-view?

Sep 22, 2010 at 10:14 AM

There was a recent discussion about this very topic and the related options available: http://caliburnmicro.codeplex.com/Thread/View.aspx?ThreadId=227869