четверг, 23 декабря 2021 г.

App.xaml

 

ссылка app



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. Собственно, часть сигнализирует приложению о том, какое Окно (Window) или Страница (Page) будет домашней при запуске. В нашем случае MainWindow.xaml будет стартовой страницей, но можно изменить ее на любую другую, изменив содержание свойств StartupUri.

В некоторых ситуациях нужен более жесткий контроль над тем, как и когда открывается первое окно. В этом случае можно удалить свойство StartupUri и реализовать этот функцонал во вспомогательном коде, что будет действовать позже.


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

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

using System;
using System.Collections.Generic;
using System.Windows;

namespace WpfTutorialSamples
{
	public partial class App : 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, является то, что мы манипулируем стартовым окном еще до его появления. В примере, мы изменили заголовок окна (не на самый полезный), но также, когда появляется полный контроль - появляются новые возможности. Именно эти возможности мы изучим более глубоко в следующие главы руководства.

Комментариев нет:

Отправить комментарий

Паттерн 'Репозиторий' в ASP.NET

  Последнее обновление: 1.11.2015         Одним из наиболее часто используемых паттернов при работе с данными является паттерн 'Репозито...