I’m in the process of designing a WPF application that will have quite a complex GUI. I’m trying to decide the best way to develop this and have come across Prism.
The application will allow users to select items from a TreeView. The items (let’s say Buildings) will then be used to create an instance of a custom UserControl which will be loaded on to another container on the interface.
Each Building Control will contain two levels of objects within it (Apartments -> Residents). So, user selects a Building, which contains a variable amount of Apartments, and each Apartment contains a variable amount of Residents. With each level having a distinct UserControl, with separate attributes, operations etc.
When a user selects a Building it will need to retrieve details of that Building and all objects underneath it. The user will then be able to make updates at any level and apply them to the object. All retrieval / updating will be handled in a separate DLL via a few calls from the interface.
What I’m trying to work out is the best design pattern to use for the above situation. I’ve been looking at the examples that come with Prism but I’m not sure which is the best approach.
The Event Aggregation (http://msdn.microsoft.com/en-us/library/ff921173%28v=pandp.20%29.aspx
) makes the most sense to me as one container is sending objects to the other, but as I said this technology is very new to me.
I’d really appreciate any advice at all on how to get started.