For the sake of reducing duplication, this template overview will only note the differences between it and the
Blank App template.
Grid App
Assets
In addition to the .pngs in the Blank App template, this template contains:
DarkGray.png
LightGray.png
MediumGray.png
Common
BindableBase.cs
Implements INotifyPropertyChanged (surprise surprise)
Has a "SetProperty" method which fires the event handler when the value changes on
set
BooleanNegationConverter.cs
A value converter to negate values in xaml when binding
BooleanToVisibilityConverter.cs
A value converter to convert a bool to visibility (either true to visible or false to collapsed)
LayoutAwarePage.cs
This is the base class of all the premade views like GroupDetailPage
Handles display state changes (like snapped to full screen) through various event
handlers
Handles navigation events (GoBack, GoHome etc)
Adds mouse and keyboard shortcuts for navigation
Handles state management for navigation and process lifetime management
Contains a default view model
Readme.txt
Contains a brief description of the purpose and use of items in the "Common" directory
RichTextColumns.cs
The same as a rich text block except it allows for additional overflow columns of text
StandardStyles.xaml
The same as in the Blank App template
SuspensionManager.cs
Acts on registered frames
For the Grid App there is only one frame, so this is done in App.xaml.cs
Captures and restores global sessions state for registered frames
Keeps track of navigation history for registered frames
Items to be saved are specified in the "SaveState" method of the layout aware page
DataModel
SampleDataSource.cs
Example of how to subclass BindableBase. Also provides a static class to provide
run-time and design-time data.
App.xaml
Main xaml of the application
Adds the StandardStyles to the application resources
App.xaml.cs (under App.xaml)
Restores (if a previous session exists) and loads the first page, and saves state on
suspend.
GroupedItemsPage.xaml
Example of how to display groups of items
General layout and layout for snapped view
Shows how to control views using the visual state manager
GroupedItemsPage.xaml.cs
Loads the page state on LoadState()
Navigates to the GroupDetailPage on Header_Click()
Navigates to the ItemDetailPage on ItemView_ItemClick()
GroupDetailPage.xaml
Same as GroupDetailPage.xaml except shows a single group
GroupDetailPage.xaml.cs (under GroupDetailPage.xaml)
Loads the page state on LoadState()
Navigates to the ItemDetailPage on ItemView_ItemClick()
ItemDetailPage.xaml
Same as GroupDetailPage.xaml except shows a single item
ItemDetailPage.xaml.cs
Loads the page state on LoadState() - if an item was selected it navigates to it
Saves the page state on SaveState()