/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { int groupId = -1; int ballotId = -1; if (e.NavigationParameter != null) { string navParam = e.NavigationParameter as string; string[] navParams = navParam.Split(new string[] { "?", "=" }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < navParams.Length; i++) { if (navParams[i] == "groupId" && i + 1 < navParams.Length) { int.TryParse(navParams[i + 1], out groupId); } else if (navParams[i] == "ballotId" && i + 1 < navParams.Length) { int.TryParse(navParams[i + 1], out ballotId); } } } if (groupId != -1 && ballotId == -1) { isAddBallotDialog = true; await addAndEditBallotViewModel.LoadCreateBallotDialogAsync(groupId); } else if (groupId != -1 && ballotId != -1) { isAddBallotDialog = false; await addAndEditBallotViewModel.LoadEditBallotDialogAsync(groupId, ballotId); } }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { if (e.NavigationParameter != null && e.NavigationParameter.GetType() == typeof(int)) { // Lade Dialog zum Hinzufügen neuer Konversation. int groupId = Convert.ToInt32(e.NavigationParameter); addAndEditConversationViewModel.LoadAddConversationDialog(groupId); } else if (e.NavigationParameter != null && e.NavigationParameter.GetType() == typeof(string)) { int groupId = -1; int conversationId = -1; string navParam = e.NavigationParameter as string; string[] navParams = navParam.Split(new string[] { "?", "=" }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < navParams.Length; i++) { if (navParams[i] == "groupId" && i + 1 < navParams.Length) { int.TryParse(navParams[i + 1], out groupId); } else if (navParams[i] == "conversationId" && i + 1 < navParams.Length) { int.TryParse(navParams[i + 1], out conversationId); } } if (groupId != -1 && conversationId != -1) { await addAndEditConversationViewModel.LoadEditConversationDialogAsync(groupId, conversationId); } } }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { if (e.NavigationParameter != null) { int channelId = Convert.ToInt32(e.NavigationParameter); await addAnnouncementViewModel.LoadSelectedChannelAsync(channelId); } }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { if (e.NavigationParameter != null) { int groupId = Convert.ToInt32(e.NavigationParameter); groupSettingsViewModel.LoadGroupSettings(groupId); } }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { if (e.NavigationParameter != null) { int reminderId = Convert.ToInt32(e.NavigationParameter); await reminderDetailsViewModel.LoadSelectedReminderAsync(reminderId); } }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { // Erforderlich wegen Caching. Falls Seite aus Cache geladen wird und Drawer war offen // bleibt er sonst offen. if (DrawerLayout.IsDrawerOpen) { DrawerLayout.CloseDrawer(); } }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { // Erforderlich wegen Caching. Falls Seite aus Cache geladen wird und Drawer war offen // bleibt er sonst offen. if (DrawerLayout.IsDrawerOpen) { DrawerLayout.CloseDrawer(); } await moderatorHomescreenViewModel.LoadManagedChannelsAsync(); subscribeToPushManagerEvents(); }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { if (e.NavigationParameter != null) { // Lade Dialog zum Bearbeiten des Kanals. int channelId = Convert.ToInt32(e.NavigationParameter); await addAndEditChannelViewModel.LoadEditChannelDialogAsync(channelId); } else { // Lade Dialog zum Anlegen eines Kanals. addAndEditChannelViewModel.LoadAddChannelDialog(); } }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { Debug.WriteLine("In LoadState of ChannelSettings page. NavigationParameter is: {0}.", e.NavigationParameter); if (e.NavigationParameter != null) { // Lade den Zustand im ViewModel mit dem übergebenen Parameterwert. int selectedChannelId; bool successful = int.TryParse(e.NavigationParameter.ToString(), out selectedChannelId); if (successful) { channelSettingsViewModel.LoadSettingsOfSelectedChannel(selectedChannelId); } } }
/// <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 void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { if (e.NavigationParameter == null) { // Erstellungsdialog. addAndEditGroupViewModel.LoadCreateDialog(); } else if (e.NavigationParameter.GetType() == typeof(int)) { // Änderungsdialog. int groupId = Convert.ToInt32(e.NavigationParameter); addAndEditGroupViewModel.LoadEditDialog(groupId); } }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { // Erforderlich wegen Caching. Falls Seite aus Cache geladen wird und Drawer war offen // bleibt er sonst offen. if (DrawerLayout.IsDrawerOpen) { DrawerLayout.CloseDrawer(); } // Lade die Kanaldaten für die Anzeige. await searchChannelsViewModel.LoadChannelsAsync(); // Starte Aktualisierungsprozess von Kanaldaten. await searchChannelsViewModel.UpdateLocalChannelListAsync(false); }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { int channelId = -1; int reminderId = -1; if (e.NavigationParameter != null) { string navParam = e.NavigationParameter as string; string[] navParams = navParam.Split(new string [] {"?", "="}, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < navParams.Length; i++) { if (navParams[i] == "channelId" && i+1 < navParams.Length) { int.TryParse(navParams[i+1], out channelId); } else if (navParams[i] == "reminderId" && i + 1 < navParams.Length) { int.TryParse(navParams[i + 1], out reminderId); } } } if (channelId != -1) { // Lade Channel await addAndEditReminderViewModel.LoadSelectedChannelAsync(channelId); if (reminderId != -1) { // Lade Dialog 'Reminder bearbeiten' await addAndEditReminderViewModel.LoadEditReminderDialogAsync(reminderId); } else { // Lade Dialog "Reminder hinzufügen." addAndEditReminderViewModel.LoadAddReminderDialog(); } } }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { // Prüfe, ob ein Index gespeichert ist, der angibt, auf welchem PivotItem der Nutzer zuletzt war. if (e.PageState != null && e.PageState.Keys.Contains("PivotIndex") && e.PageState["PivotIndex"] != null) { int selectedIndex = 0; bool successful = int.TryParse(e.PageState["PivotIndex"].ToString(), out selectedIndex); // Falls es einen gespeicherten PivotIndex gibt, setze ihn wieder aktiv. if (successful && BallotDetailsPivot != null) BallotDetailsPivot.SelectedIndex = selectedIndex; } int groupId = -1; int ballotId = -1; if (e.NavigationParameter != null) { string navParam = e.NavigationParameter as string; string[] navParams = navParam.Split(new string[] { "?", "=" }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < navParams.Length; i++) { if (navParams[i] == "groupId" && i + 1 < navParams.Length) { int.TryParse(navParams[i + 1], out groupId); } else if (navParams[i] == "ballotId" && i + 1 < navParams.Length) { int.TryParse(navParams[i + 1], out ballotId); } } } if (ballotId != -1 && groupId != -1) { await ballotDetailsViewModel.LoadBallotAsync(groupId, ballotId); subscribeToPushManagerEvents(); } }
/// <summary> /// Ermittelt, ob gespeichert ist, welches PivotItem zuletzt aktiv war. /// Ist das der Fall, so wird dieses beim Laden der Seite wieder aktiv gesetzt. /// </summary> /// <param name="e">Die Parameter des Ladevorgangs.</param> private void determineLastActivePivotItem(LoadStateEventArgs e) { // Prüfe, ob ein Index gespeichert ist, der angibt, auf welchem PivotItem der Nutzer zuletzt war. if (e.PageState != null && e.PageState.Keys.Contains("PivotIndex") && e.PageState["PivotIndex"] != null) { int selectedIndex = 0; bool successful = int.TryParse(e.PageState["PivotIndex"].ToString(), out selectedIndex); // Falls es einen gespeicherten PivotIndex gibt, setze ihn wieder aktiv. if (successful && GroupDetailsPivot != null && GroupDetailsPivot.Items != null && GroupDetailsPivot.Items.Count > selectedIndex) { GroupDetailsPivot.SelectedIndex = selectedIndex; } } }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { applicationSettingsViewModel.LoadCurrentSettings(); }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { if (e.NavigationParameter != null) { int conversationId = Convert.ToInt32(e.NavigationParameter); await conversationDetailsViewModel.LoadSelectedConversationAsync(conversationId); } // Registrierung für View relevante Push Notification Events. subscribeToPushManagerEvents(); }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { // Prüfe, ob ein Index gespeichert ist, der angibt, auf welchem PivotItem der Nutzer zuletzt war. if (e.PageState != null && e.PageState.Keys.Contains("PivotIndex") && e.PageState["PivotIndex"] != null) { int selectedIndex = 0; bool successful = int.TryParse(e.PageState["PivotIndex"].ToString(), out selectedIndex); // Falls es einen gespeicherten PivotIndex gibt, setze ihn wieder aktiv. if (successful && ModeratorChannelDetailsPivot != null) ModeratorChannelDetailsPivot.SelectedIndex = selectedIndex; } // Lade die Seite. if (e.NavigationParameter != null) { int channelId = Convert.ToInt32(e.NavigationParameter); moderatorChannelDetailsViewModel.LoadSelectedChannel(channelId); await moderatorChannelDetailsViewModel.PerformAnnouncementUpdateAsync(); await moderatorChannelDetailsViewModel.LoadRemindersOfChannelAsync(); await moderatorChannelDetailsViewModel.CheckForMissingRemindersAsync(); await moderatorChannelDetailsViewModel.LoadModeratorsOfChannelAsync(); } subscribeToPushManagerEvents(); }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { // Für den Typvergleich, siehe hier: http://stackoverflow.com/questions/983030/type-checking-typeof-gettype-or-is if (e.NavigationParameter != null && e.NavigationParameter.GetType() == typeof(string)) { Debug.WriteLine("GroupDetails: Starting to load group from temporary storage."); await groupDetailsViewModel.LoadGroupFromTemporaryCacheAsync(e.NavigationParameter as string); } else if (e.NavigationParameter != null && e.NavigationParameter.GetType() == typeof(int)) { determineLastActivePivotItem(e); Debug.WriteLine("GroupDetails: Starting to load group from local storage."); int groupId = Convert.ToInt32(e.NavigationParameter); await groupDetailsViewModel.LoadGroupFromLocalStorageAsync(groupId); // Lade Konversationen. await groupDetailsViewModel.LoadConversationsAsync(groupId); // Lade Abstimmungen. await groupDetailsViewModel.LoadBallotsAsync(groupId); } // Registriere Seite für relevante Push Notification Events. subscribeToPushManagerEvents(); // Prüfe ob Auto sync notwendig, und führe ihn gegebenenfalls aus. await groupDetailsViewModel.PerformAutoSync(); }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { //Debug.WriteLine("In LoadState of ChannelDetails page. NavigationParameter is: {0}.", e.NavigationParameter); // Prüfe, ob ein Index gespeichert ist, der angibt, auf welchem PivotItem der Nutzer zuletzt war. if (e.PageState != null && e.PageState.Keys.Contains("PivotIndex") && e.PageState["PivotIndex"] != null) { int selectedIndex = 0; bool successful = int.TryParse(e.PageState["PivotIndex"].ToString(), out selectedIndex); // Falls es einen gespeicherten PivotIndex gibt, setze ihn wieder aktiv. if (successful && ChannelDetailsPivot != null) ChannelDetailsPivot.SelectedIndex = selectedIndex; } if(e.NavigationParameter != null) { // Lade den Zustand im ViewModel mit dem übergebenen Parameterwert. int selectedChannelId; bool successful = int.TryParse(e.NavigationParameter.ToString(), out selectedChannelId); if (successful) { channelDetailsViewModel.LoadSelectedChannel(selectedChannelId); } // Registriere View für PushNotificationManager Events. subscribeToPushManagerEvents(); } }
/// <summary> /// Füllt die Seite mit Inhalt auf, der bei der Navigation übergeben wird. Gespeicherte Zustände werden ebenfalls /// bereitgestellt, wenn eine Seite aus einer vorherigen Sitzung neu erstellt wird. /// </summary> /// <param name="sender"> /// Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/> /// </param> /// <param name="e">Ereignisdaten, die die Navigationsparameter bereitstellen, die an /// <see cref="Frame.Navigate(Type, Object)"/> als diese Seite ursprünglich angefordert wurde und /// ein Wörterbuch des Zustands, der von dieser Seite während einer früheren /// beibehalten wurde. Der Zustand ist beim ersten Aufrufen einer Seite NULL.</param> private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { Debug.WriteLine("Homescreen: In LoadState."); // Erforderlich wegen Caching. Falls Seite aus Cache geladen wird und Drawer war offen // bleibt er sonst offen. if (DrawerLayout.IsDrawerOpen) { DrawerLayout.CloseDrawer(); } // Registriere für Homescreen View relevante Events des PushNotificationManagers. subscribeToPushManagerEvents(); // Lade "Meine Kanäle" await homescreenViewModel.LoadMyChannelsAsync(); // Lade "Meine Gruppen" await homescreenViewModel.LoadMyGroupsAsync(); }