using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices.WindowsRuntime; using Windows.ApplicationModel; using Windows.ApplicationModel.Activation; using Windows.Foundation; using Windows.Foundation.Collections; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Controls.Primitives; using Windows.UI.Xaml.Data; using Windows.UI.Xaml.Input; using Windows.UI.Xaml.Media; using Windows.UI.Xaml.Navigation; namespace HospitalServerManager { /// /// Zapewnia zachowanie specyficzne dla aplikacji, aby uzupełnić domyślną klasę aplikacji. /// sealed partial class App : Application { /// /// Inicjuje pojedynczy obiekt aplikacji. Jest to pierwszy wiersz napisanego kodu /// wykonywanego i jest logicznym odpowiednikiem metod main() lub WinMain(). /// public App() { this.InitializeComponent(); this.Suspending += OnSuspending; } /// /// Wywoływane, gdy aplikacja jest uruchamiana normalnie przez użytkownika końcowego. Inne punkty wejścia /// będą używane, kiedy aplikacja zostanie uruchomiona w celu otworzenia określonego pliku. /// /// Szczegóły dotyczące żądania uruchomienia i procesu. protected override void OnLaunched(LaunchActivatedEventArgs e) { Frame rootFrame = Window.Current.Content as Frame; // Nie powtarzaj inicjowania aplikacji, gdy w oknie znajduje się już zawartość, // upewnij się tylko, że okno jest aktywne if (rootFrame == null) { // Utwórz ramkę, która będzie pełnić funkcję kontekstu nawigacji, i przejdź do pierwszej strony rootFrame = new Frame(); rootFrame.NavigationFailed += OnNavigationFailed; if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) { //TODO: Załaduj stan z wstrzymanej wcześniej aplikacji } // Umieść ramkę w bieżącym oknie Window.Current.Content = rootFrame; } if (e.PrelaunchActivated == false) { if (rootFrame.Content == null) { // Kiedy stos nawigacji nie jest przywrócony, przejdź do pierwszej strony, // konfigurując nową stronę przez przekazanie wymaganych informacji jako // parametr rootFrame.Navigate(typeof(View.MainFrameView), e.Arguments); } // Upewnij się, ze bieżące okno jest aktywne Window.Current.Activate(); } } /// /// Wywoływane, gdy nawigacja do konkretnej strony nie powiedzie się /// /// Ramka, do której nawigacja nie powiodła się /// Szczegóły dotyczące niepowodzenia nawigacji void OnNavigationFailed(object sender, NavigationFailedEventArgs e) { throw new Exception("Failed to load Page " + e.SourcePageType.FullName); } /// /// Wywoływane, gdy wykonanie aplikacji jest wstrzymywane. Stan aplikacji jest zapisywany /// bez wiedzy o tym, czy aplikacja zostanie zakończona, czy wznowiona z niezmienioną zawartością /// pamięci. /// /// Źródło żądania wstrzymania. /// Szczegóły żądania wstrzymania. private void OnSuspending(object sender, SuspendingEventArgs e) { var deferral = e.SuspendingOperation.GetDeferral(); //TODO: Zapisz stan aplikacji i zatrzymaj wszelkie aktywności w tle deferral.Complete(); } } }