/// <summary>
 /// Behält den dieser Seite zugeordneten Zustand bei, wenn die Anwendung angehalten oder
 /// die Seite im Navigationscache verworfen wird.  Die Werte müssen den Serialisierungsanforderungen
 /// von <see cref="SuspensionManager.SessionState"/> entsprechen.
 /// </summary>
 /// <param name="sender">Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/></param>
 /// <param name="e">Ereignisdaten, die ein leeres Wörterbuch zum Auffüllen bereitstellen
 /// serialisierbarer Zustand.</param>
 private void NavigationHelper_SaveState(object sender, SaveStateEventArgs e)
 {
 }
        /// <summary>
        /// Behält den dieser Seite zugeordneten Zustand bei, wenn die Anwendung angehalten oder
        /// die Seite im Navigationscache verworfen wird. Die Werte müssen den Serialisierungsanforderungen
        /// von <see cref="SuspensionManager.SessionState"/> entsprechen.
        /// </summary>
        /// <param name="sender">Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/></param>
        /// <param name="e">Ereignisdaten, die ein leeres Wörterbuch zum Auffüllen bereitstellen
        /// serialisierbarer Zustand.</param>
        private void NavigationHelper_SaveState(object sender, SaveStateEventArgs e)
        {
            // Markiere ConversationMessages als gelesen.
            conversationDetailsViewModel.MarkConversationMessagesAsRead();

            // Deregistriere alle PushNotification Events.
            unsubscribeFromPushManagerEvents();
        }
 /// <summary>
 /// Behält den dieser Seite zugeordneten Zustand bei, wenn die Anwendung angehalten oder
 /// die Seite im Navigationscache verworfen wird.  Die Werte müssen den Serialisierungsanforderungen
 /// von <see cref="SuspensionManager.SessionState"/> entsprechen.
 /// </summary>
 /// <param name="sender">Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/></param>
 /// <param name="e">Ereignisdaten, die ein leeres Wörterbuch zum Auffüllen bereitstellen
 /// serialisierbarer Zustand.</param>
 private void NavigationHelper_SaveState(object sender, SaveStateEventArgs e)
 {
     unsubscribeFromPushManagerEvents();
 }
        /// <summary>
        /// Behält den dieser Seite zugeordneten Zustand bei, wenn die Anwendung angehalten oder
        /// die Seite im Navigationscache verworfen wird.  Die Werte müssen den Serialisierungsanforderungen
        /// von <see cref="SuspensionManager.SessionState"/> entsprechen.
        /// </summary>
        /// <param name="sender">Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/></param>
        /// <param name="e">Ereignisdaten, die ein leeres Wörterbuch zum Auffüllen bereitstellen
        /// serialisierbarer Zustand.</param>
        private void NavigationHelper_SaveState(object sender, SaveStateEventArgs e)
        {
            System.Diagnostics.Debug.WriteLine("ModeratorChannelDetails: In SaveState method.");
            System.Diagnostics.Debug.WriteLine("ModeratorChannelDetails: Page state is: " + e.PageState);

            // Speichere den aktuellen PivotIndex zwischen, um ihn bei einem erneuten Seitenaufruf aktiv setzen zu können.
            if (e.PageState != null && ModeratorChannelDetailsPivot != null)
                e.PageState["PivotIndex"] = ModeratorChannelDetailsPivot.SelectedIndex;

            unsubscribeFromPushManagerEvents();
        }
        /// <summary>
        /// Behält den dieser Seite zugeordneten Zustand bei, wenn die Anwendung angehalten oder
        /// die Seite im Navigationscache verworfen wird.  Die Werte müssen den Serialisierungsanforderungen
        /// von <see cref="SuspensionManager.SessionState"/> entsprechen.
        /// </summary>
        /// <param name="sender">Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/></param>
        /// <param name="e">Ereignisdaten, die ein leeres Wörterbuch zum Auffüllen bereitstellen
        /// serialisierbarer Zustand.</param>
        private void NavigationHelper_SaveState(object sender, SaveStateEventArgs e)
        {
            Debug.WriteLine("In SaveState of ChannelDetails page.");
            if(channelDetailsViewModel.ChannelSubscribedStatus)
            {
                // Markiere die Nachrichten dieses Kanals nun als gelsen.
                channelDetailsViewModel.MarkAnnouncementsAsRead();
            }

            // Speichere Pivot-Index zwischen, so dass man ihn beim nächsten Aufruf der Seite wieder aktiv setzen kann.
            if (e.PageState != null && ChannelDetailsPivot != null)
                e.PageState["PivotIndex"] = ChannelDetailsPivot.SelectedIndex;

            // Deregistriere View von PushNotificationManager Events.
            unsubscribeFromPushManagerEvents();
        }
        /// <summary>
        /// Behält den dieser Seite zugeordneten Zustand bei, wenn die Anwendung angehalten oder
        /// die Seite im Navigationscache verworfen wird. Die Werte müssen den Serialisierungsanforderungen
        /// von <see cref="SuspensionManager.SessionState"/> entsprechen.
        /// </summary>
        /// <param name="sender">Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/></param>
        /// <param name="e">Ereignisdaten, die ein leeres Wörterbuch zum Auffüllen bereitstellen
        /// serialisierbarer Zustand.</param>
        private void NavigationHelper_SaveState(object sender, SaveStateEventArgs e)
        {
            // Speichere Pivot-Index zwischen, so dass man ihn beim nächsten Aufruf der Seite wieder aktiv setzen kann.
            if (e.PageState != null && BallotDetailsPivot != null)
                e.PageState["PivotIndex"] = BallotDetailsPivot.SelectedIndex;

            unsubscribeFromPushManagerEvents();
        }
        /// <summary>
        /// Behält den dieser Seite zugeordneten Zustand bei, wenn die Anwendung angehalten oder
        /// die Seite im Navigationscache verworfen wird. Die Werte müssen den Serialisierungsanforderungen
        /// von <see cref="SuspensionManager.SessionState"/> entsprechen.
        /// </summary>
        /// <param name="sender">Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/></param>
        /// <param name="e">Ereignisdaten, die ein leeres Wörterbuch zum Auffüllen bereitstellen
        /// serialisierbarer Zustand.</param>
        private void NavigationHelper_SaveState(object sender, SaveStateEventArgs e)
        {
            // Speichere Pivot-Index zwischen, so dass man ihn beim nächsten Aufruf der Seite wieder aktiv setzen kann.
            if (e.PageState != null && GroupDetailsPivot != null)
                e.PageState["PivotIndex"] = GroupDetailsPivot.SelectedIndex;

            // Deregistriere alle Push Notification Events.
            unsubscribeFromPushManagerEvents();

            // Setzte das HasNewEvent Flag zurück.
            if (groupDetailsViewModel != null)
            {
                groupDetailsViewModel.ResetHasNewEventFlag();
            }
        }
        /// <summary>
        /// Behält den dieser Seite zugeordneten Zustand bei, wenn die Anwendung angehalten oder
        /// die Seite im Navigationscache verworfen wird.  Die Werte müssen den Serialisierungsanforderungen
        /// von <see cref="SuspensionManager.SessionState"/> entsprechen.
        /// </summary>
        /// <param name="sender">Die Quelle des Ereignisses, normalerweise <see cref="NavigationHelper"/></param>
        /// <param name="e">Ereignisdaten, die ein leeres Wörterbuch zum Auffüllen bereitstellen
        /// serialisierbarer Zustand.</param>
        private void NavigationHelper_SaveState(object sender, SaveStateEventArgs e)
        {
            Debug.WriteLine("Homescreen: In SaveState.");

            // Deregistriere von PushNotificationEvents beim Verlassen der Seite.
            unsubscribeFromPushManagerEvents();
        }