Project home page and project start page

Project home page

A mobile project has a home page where you can start each task. The application navigates back to this home page when a task is fulfilled. By default, the view map page is the home page and has all tasks accessible from the navigation bar menu.

The Windows application framework allows you to specify your own page as a project's home page via the HomePage property of the Project class:

MobileApplication.Current.Project.HomePage = new MyOwnProjectHomePage();

MyOwnProjectHomePage here is a Windows Presentation Foundation (WPF) user control derived from the MobileApplicationPage class.

When a home page is specified for the project, the application will remove all tasks from the navigation bar menu of the default home page, View Map. That means you need to make these tasks accessible from your own project home page and call task.Execute() to start the workflow for each task.

The application framework provides an alternative home page called ESRI.ArcGIS.Mobile.Client.Pages.SelectTaskPage, which lists all available tasks on this page, similar to the project home page in the ArcGIS Mobile for Windows Mobile application.

MobileApplication.Current.Project.HomePage = new ESRI.ArcGIS.Mobile.Client.Pages.SelectTaskPage();

See the SelectTaskExtension sample for more details.

Project start page

You can have the application load one or more start pages before it opens the project home page, for example, the sign-in page used with the field crew task.

To show a custom page when a project is opened, you need to add it to the StartPages collection on the ESRI.ArcGIS.Mobile.Client.Project class (for example, when your extension is initialized). This is a collection of specialized pages that implement the IStartPage interface, which derives from IPage and contains a single event called Completed. After the project is opened, the application will display each page in the StartPages collection, one at a time. When your page is finished being displayed, it raises the IStartPage.Completed event to signal that the next start page should be displayed. After all the pages in the collection have been shown, the application transitions to the home page, which is specified by the Project.HomePage property (which may also be customized or modified by an extension).

MobileApplication.Current.Project.StartPages.Add(new MyStartPage());

See the SelectTaskExtension sample for more details.

1/7/2015