The MainWindow control derives from UserControl and is meant to replace the default layout root. It provides the following features:

A title bar that users can drag to move the window. The title bar consumes out-of-browser configuration data for the icon and title text.

A default border that users can drag to resize the window. Hovering over the border changes the cursor as you would expect. A BorderBrush dependency property lets you customize the border background from the application layout root.

Isolated Storage support to store the window size, position, and state on application shutdown and retrieve the values on the next startup.

Book Club – It was written to demonstrate some aspects of writing a semi-real-worldish application (note that it is still very much a demo app), but more importantly, demonstrating how you can use RIA Services effectively by going beyond the basics.

Here is a list of what the application demonstrates:

Entity framework data model with one-to-many and many-to-many relationships as well as use of stored procedures

Grouping items – you can group and ungroup items using IDE, something you would normally need to edit project file (DependentUpon)

Ungrouping items

Custom Grouping – you can choose any of the selected items to be a new root for others:

Locate in solution – some people don’t like auto tracking of current item in solution explorer but would like to locate current item on demand. It’s now easy to achieve, simply rightclick in code editor, select ‘Locate in Solution’ from context menu and current item will be highlighted in solution explorer.

Open in Expression Blend – open project in Expression Blend directly from Visual Studio interface