MyTetra Share
Делитесь знаниями!
Работа с App.xaml
Время создания: 08.04.2020 00:09
Текстовые метки: App, WPF
Раздел: Компьютер - C# - WPF
Запись: Kozlov-AE/Tetra/master/base/1586293746nciob1295w/text.html на raw.githubusercontent.com

App.xaml.cs расширяет класс Application, который является базовым классом в приложении WPF Windows. .NET сначала реализует в этом классе стартовые инструкции, а после запускает необходимую страницу WPF. Этот класс, так же, является местом для подписки на важные события в приложении, такие как: старт приложения, необработанные исключения и др., но об этом немного позже.


Структура App.xaml


<Application x:Class="WpfTutorialSamples.App"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

StartupUri="MainWindow.xaml">

<Application.Resources>


</Application.Resources>

</Application>


Главным местом в этом коде является свойство StartupUri. Собственно, эта часть сигнализирует приложению о том, какая Страница или Окно будет являться домашним при запуске. В этом случае, MainWindow.xaml будет домашней страницей, но при желании Вы можете изменить ее на любую другую, просто изменив содержание свойства StartupUri


Структура App.xaml.cs

Обычно, файл App.xaml.cs для нового проекта будет выглядеть следующим образом:


using System;

using System.Collections.Generic;

using System.Windows;


namespace WpfTutorialSamples

{

public partial class App : Application

{


}

}


Вы увидите, как этот класс расширяет класс Application, позволяя нам реализовывать функционал на уровне приложения. Например, Вы можете подписаться на событие Startup (запуск приложения), в котором можно "вручную" создать стартовое окно.

Вот пример:


<Application x:Class="WpfTutorialSamples.App"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Startup="Application_Startup">

<Application.Resources></Application.Resources>

</Application>


Обратите внимание, как свойство StartupUri замещается подпиской на событие Startup (подписка на события из XAML будет представлена в последующих главах). В CodeBehind, Вы можете использовать это событие следующим образом:


using System;

using System.Collections.Generic;

using System.Windows;


namespace WpfTutorialSamples

{

public partial class App : Application

{


private void Application_Startup(object sender, StartupEventArgs e)

{

// Create the startup window

MainWindow wnd = new MainWindow();

// Do stuff here, e.g. to the window

wnd.Title = "Something else";

// Show the window

wnd.Show();

}

}

}


Отличным фактом в данном примере, по сравнению с простым использованием свойства StartupUri, является то, что мы манипулируем стартовым окном еще до его появления. В примере, мы изменили заголовок окна (не на самый полезный), но также, Вы можете подписаться на события или, возможно, показать заставку (Splash screen), ведь когда появляется полный контроль - появляются новые возможным. Именно эти возможности мы изучим более глубоко в следующих главах руководства.







 
MyTetra Share v.0.59
Яндекс индекс цитирования