Home

Awesome

Prism Samples Forms

Samples that demonstrate how to use various Prism features with Xamarin.Forms.

Learning Prism

Learn feature by feature how to use Prism in your apps!

#SampleDescription
1Prism NavigationHow to use Prism's Uri based navigation to reset the navigation stack, or add pages Modally or Non-Modally
2Registering ServicesHow to use IContainerRegistry to register services to act as Singletons or Transients within your application.
3Platform Specific ServicesHow to use Prism to auto inject platform specific dependencies that are registered with the IPlatformInitializer.
4Delegate CommandsHow to use DelegateCommands and ObservesCanExecute
4.1Composite CommandsHow to use CompositeCommands to invoke commands in multiple unrelated ViewModels from a single interaction.
5Event AggregatorHow to use the IEventAggregator to raise and listen to events. This shows how to use a simple event with a primitive type payload, generic event with payload <T>, and event with custom EventArgs. It also demonstrated how to subscribe to events published in Xamarin.Forms inside native code.
6Page Dialog ServiceHow to use the IPageDialogService to display alerts and action sheets from within your ViewModels.
7Dialog ServiceHow to use the DialogService to provide highly customizable experiences within your application.
8Tabbed Navigationcoming soon
9Master DetailHow to use a master detail page with a content page and a tabbed page as children
10ModulesHow to use Prism modularization to separate the application logic using IModule, IModuleManager, ModuleCatalog.
11Module Dependencycoming soon
12ViewModelLocatorcoming soon
13ViewModel InitializationHow to properly use IAutoInitialize, IInitialize, or IInitializeAsync to do a one time initialization of your ViewModel with the context you need based on the Navigation Parameters, or any other initialization you may need to do.
14EventToCommandBehaviorHow to use the EventToCommandBehavior to bind to ViewModel Commands even when there is no Command property on an element.
15PageBehaviorFactorycoming soon
16PageLifecycleAwareHow use IPageLifecycleAware to execute code in your ViewModel when the Page appears / disappears.
17XamlNavigationHow to do Prism navigation from within Xaml
18DeviceServiceHow to use Prism's IDeviceService to get the device's runtime and idiom.
19NavigationModeHow to use the NavigationMode enum to only act on something when navigating back to a view
20Confirm Navigationcoming soon

Advanced Concepts

SampleDescription
Popups PluginQuite often you may find that a Modal page just doesn't cut it. A very popular option is to use Rg.Plugins.Popup. Because this is a 3rd party plugin it requires the use of Prism.Plugins.Popup. This sample shows how to use both Popup Pages for the Dialog Service and with Prism's Navigation Service.
Logging with App Centercoming soon
Logging with Syslogcoming soon
Logging with LogglyWalks you through using the Logging Plugin with Loggly for Syslog or Http
Using Shiny Lib + Prismcoming soon
Using ReactiveUI + Prismcoming soon

Sample Apps

SampleDescription
Prism Forms GalleryPrism.Forms Gallery demonstrates a number of Prism and Prism.Forms features all in a single app. The goal of this gallery is to make it easy to learn, share, teach, test, and use the material in your presentations and talks.
Contoso CookbookContoso Cookbook is a classic Microsoft sample recipe app; first adapted for Xamarin.Forms by Jeff Prosise in 2015 and now updated to use Prism for Xamarin.Forms. Demonstrates how to use a TabbedPage with a DataTemplate for the tabs, and a ListView with DataTemplate for the recipe list on each tab; for a clean professional-looking UI.

Adding or Updating a Sample

A number of topics have been stubbed out. For any existing topic you can simply update the project with the relavent content. Be sure the Project heads are each updated as follows:

If you're adding a brand new sample be sure to start with a copy of the resources in the Sample Template directory.