' Šablona "Blank Application" je popsána na adrese http://go.microsoft.com/fwlink/?LinkId=234227

''' <summary>
''' Poskytuje chování specifické pro aplikaci, doplňující výchozí třídu Application.
''' </summary>
NotInheritable Class App
    Inherits Application

    ''' <summary>
    ''' Vyvoláno při normálním spuštění aplikace koncovým uživatelem.  Ostatní vstupní body
    ''' budou použity při spuštění aplikace pro otevření určitého souboru, ke zobrazení
    ''' výsledků hledání a tak dále.
    ''' </summary>
    ''' <param name="e">Podrobnosti o požadavku spuštění a procesu.</param>
    Protected Overrides Sub OnLaunched(e As Windows.ApplicationModel.Activation.LaunchActivatedEventArgs)
#If DEBUG Then
        ' Zobrazovat během ladění informace o profilování grafiky.
        If System.Diagnostics.Debugger.IsAttached Then
            ' Zobrazit počítadla aktuální frekvence snímků
            Me.DebugSettings.EnableFrameRateCounter = True
        End If
#End If

        Dim rootFrame As Frame = TryCast(Window.Current.Content, Frame)

        ' Neopakovat inicializaci aplikace, pokud má objekt Window již obsah,
        ' pouze zkontrolovat, zda je okno aktivní

        If rootFrame Is Nothing Then
            ' Vytvořit objekt Frame, který bude fungovat jako kontext navigace, a spustit procházení první stránky
            rootFrame = New Frame()
            ' Nastavte výchozí jazyk.
            rootFrame.Language = Windows.Globalization.ApplicationLanguages.Languages(0)

            AddHandler rootFrame.NavigationFailed, AddressOf OnNavigationFailed

            If e.PreviousExecutionState = ApplicationExecutionState.Terminated Then
                ' TODO: Načíst stav z dříve pozastavené aplikace
            End If
            ' Umístit rámec do aktuálního objektu Window
            Window.Current.Content = rootFrame
        End If
        If rootFrame.Content Is Nothing Then
            ' Není-li navigační zásobník obnoven, navigovat na první stránku
            ' a nakonfigurovat novou stránku předáním požadovaných informací ve formě
            ' parametru navigace
            rootFrame.Navigate(GetType(MainPage), e.Arguments)
        End If

        ' Zkontrolovat, zda je aktuální okno aktivní
        Window.Current.Activate()
    End Sub

    ''' <summary>
    ''' Vyvoláno, když se nezdaří přechod na určitou stránku
    ''' </summary>
    ''' <param name="sender">Rámec, pro který se nezdařila navigace</param>
    ''' <param name="e">Podrobnosti o chybě navigace</param>
    Private Sub OnNavigationFailed(sender As Object, e As NavigationFailedEventArgs)
        Throw New Exception("Failed to load Page " + e.SourcePageType.FullName)
    End Sub

    ''' <summary>
    ''' Vyvoláno při pozastavení provádění aplikace. Stav aplikace je uložen,
    ''' aniž by bylo známo, zda bude aplikace ukončena, nebo zda bude obnovena
    ''' s neporušeným obsahem paměti.
    ''' </summary>
    ''' <param name="sender">Zdroj žádosti o pozastavení.</param>
    ''' <param name="e">Podrobnosti žádosti o pozastavení.</param>
    Private Sub OnSuspending(sender As Object, e As SuspendingEventArgs) Handles Me.Suspending
        Dim deferral As SuspendingDeferral = e.SuspendingOperation.GetDeferral()
        ' TODO: Uložit stav aplikaci a zastavit jakoukoliv aktivitu na pozadí
        deferral.Complete()
    End Sub

End Class
