/// <summary>
		/// Populates the page with content passed during navigation.  Any saved state is also
		/// provided when recreating a page from a prior session.
		/// </summary>
		/// <param name="sender">
		/// The source of the event; typically <see cref="NavigationHelper"/>
		/// </param>
		/// <param name="e">Event data that provides both the navigation parameter passed to
		/// <see cref="Frame.Navigate(Type, object)"/> when this page was initially requested and
		/// a dictionary of state preserved by this page during an earlier
		/// session.  The state will be null the first time a page is visited.</param>
		private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
		{
			var itemId = e.NavigationParameter as string;
			if (itemId != null)
			{
				UserData.ItemId = itemId;
			}
			else
			{
				UserData = (HubContext) e.NavigationParameter;
			}

			var item = await SampleDataSource.GetItemAsync(UserData.ItemId);
			Model.Item = item;
			InputSelectionPanel2.Visibility = (item.RequiresInputComboBox2) ? Visibility.Visible : Visibility.Collapsed;
			InputTextBox.Visibility = (item.RequiresInputTextBox) ? Visibility.Visible : Visibility.Collapsed;
			if (item.RequiresInputComboBox1)
			{
				var response = await SampleDataSource.ExecuteApiPrereq(item.UniqueId, UserData.Provider, UserData.UseBeta);
				if (response is List<ApiBaseResponse>)
				{
					InputComboBox1.ItemsSource = response;
					InputSelectionPanel1.Visibility = Visibility.Visible;
				}
			}
			else
			{
				InputSelectionPanel1.Visibility = Visibility.Collapsed;
			}
		}
		/// <summary>
		/// Populates the page with content passed during navigation.  Any saved state is also
		/// provided when recreating a page from a prior session.
		/// </summary>
		/// <param name="sender">
		/// The source of the event; typically <see cref="NavigationHelper"/>
		/// </param>
		/// <param name="e">Event data that provides both the navigation parameter passed to
		/// <see cref="Frame.Navigate(Type, object)"/> when this page was initially requested and
		/// a dictionary of state preserved by this page during an earlier
		/// session.  The state will be null the first time a page is visited.</param>
		private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
		{
			// TODO: Create an appropriate data model for your problem domain to replace the sample data
			var group = await SampleDataSource.GetGroupAsync((string)e.NavigationParameter);
			DefaultViewModel["Group"] = group;
			DefaultViewModel["Items"] = group.Items;
			pageTitle.Text = group.Title;
		}
		/// <summary>
		/// Populates the page with content passed during navigation.  Any saved state is also
		/// provided when recreating a page from a prior session.
		/// </summary>
		/// <param name="sender">
		/// The source of the event; typically <see cref="NavigationHelper"/>
		/// </param>
		/// <param name="e">Event data that provides both the navigation parameter passed to
		/// <see cref="Frame.Navigate(Type, object)"/> when this page was initially requested and
		/// a dictionary of state preserved by this page during an earlier
		/// session.  The state will be null the first time a page is visited.</param>
		private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
		{
			var sampleDataGroups = await SampleDataSource.GetGroupsAsync();
			DefaultViewModel["Groups"] = sampleDataGroups;

			// load our toggle switch states
			UserData.Provider = AppSettings.GetProviderO365() ? AuthProvider.MicrosoftOffice365 : AuthProvider.MicrosoftAccount;
			O365ToggleSwitch.IsOn = UserData.Provider == AuthProvider.MicrosoftOffice365;

			UserData.UseBeta = AppSettings.GetUseBeta();
			UseBetaToggleSwitch.IsOn = UserData.UseBeta;
		}