TOC

This article has been localized into Portuguese by the community.

Uma aplicação WPF:

Trabalhando com App.xaml

O App.xaml é declarado o ponto de partida de sua aplicação. O Visual Studio cria ele automaticamente para você quando você inicia uma nova aplicação WPF, incluindo um arquivo Code-behind chamado App.xaml.cs. Ele funciona como uma janela, onde os dois arquivos são classes parciais (partial), trabalhando juntas para permitir que você trabalhe tanto com as tags (XAML) quanto Code-behind.

App.xaml.cs extende a classe Application, que é uma classe central em uma aplicação Windows WPF. O .NET irá ir nessa classe para instruções iniciais e então iniciar a janela ou página desejada. Este também é o local onde eventos importantes da aplicação são assinados, como application start, unhandled exceptions e por ai vai. Mais tarde veremos mais sobre isso.

Uma das características comumente mais utilizada do arquivo App.xaml é de definir recursos que podem ser usados e acessados por toda a aplicação, por exemplo, estilos globais. Isso será discutido com maiores detalhes mais tarde.

Estrutura App.xaml

Quando criamos uma nova aplicação, o App.xaml que é gerado automaticamente se parecerá com este:

<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>

A principal coisa que você irá notar aqui é a propriedade StartupUri. Esta é a parte que atualmente instrui qual janela ou página começará quando a aplicação for iniciada. Neste caso, MainWindow.xaml será iniciada, mas se você quiser usar outra janela como ponto de partida, você pode simplesmente alterar.

Em algumas situações, você vai querer mais controle sobre como e quando a primeira janela será exibida. Neste caso, ao invés disso você pode remover o valor e a propriedade StartupUi e então fazer tudo isso no Code-behind. Isso será demonstrado abaixo:

Estrutura App.xaml.cs

Em um novo projeto a estrutura do App.xaml.cs normalmente se parece com essa:

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

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

	}
}

Você verá como estender a classe Application, nos permitindo fazer coisas no nível da aplicação. Por exemplo, você pode assinar o evento de Startup, onde você pode manualmente criar sua janela inicial.

Aqui está um exemplo:

<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>

Note como o StartupUri foi substituído por uma assinatura do evento Startup (assinar um evento através do XAML será explicado em outro capítulo). No Code-behind, você pode usar o evento assim:

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();
		}
	}
}

A coisa legal neste exemplo, comparado ao uso da propriedade StartupUi, é que nós manipularemos a janela inicial antes de ser exibida. Com isso, mudamos o título dela, que não é algo útil, mas você também pode assinar eventos ou talvez exibir uma splash screen. Quando você todo o controle, existe muitas possibilidades. Nós veremos mais a fundo em vários delas nos próximos artigos deste tutorial.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!