Desenvolvimento do aplicativoApplication Development

Windows Presentation Foundation (WPF) é uma estrutura de apresentação que pode ser usada para desenvolver os seguintes tipos de aplicativos:Windows Presentation Foundation (WPF) is a presentation framework that can be used to develop the following types of applications:

  • Aplicativos autônomos (aplicativos WindowsWindows de estilo tradicional criados como assemblies executáveis que são instalados e executados do computador cliente).Standalone Applications (traditional style WindowsWindows applications built as executable assemblies that are installed to and run from the client computer).

  • XBAPs (aplicativos de navegador XAML)XAML browser applications (XBAPs) (aplicativos compostos por páginas de navegação que são criadas como assemblies executáveis e hospedadas por navegadores da Web, como Microsoft Internet ExplorerMicrosoft Internet Explorer ou o Mozilla Firefox).(applications composed of navigation pages that are built as executable assemblies and hosted by Web browsers such as Microsoft Internet ExplorerMicrosoft Internet Explorer or Mozilla Firefox).

  • Bibliotecas de controles personalizados (assemblies não executáveis contendo controles reutilizáveis).Custom Control Libraries (non-executable assemblies containing reusable controls).

  • Bibliotecas de classes (assemblies não executáveis que contêm classes reutilizáveis).Class Libraries (non-executable assemblies that contain reusable classes).

Observação

Não é recomendável usar tipos do WPF em um serviço Windows.Using WPF types in a Windows service is strongly discouraged. Se você tentar usar esses recursos em um serviço Windows, será possível que eles não funcionem conforme o esperado.If you attempt to use these features in a Windows service, they may not work as expected.

Para compilar esse conjunto de aplicativos, o WPFWPF implementa uma gama de serviços.To build this set of applications, WPFWPF implements a host of services. Este tópico fornece uma visão geral desses serviços e onde encontrar mais informações.This topic provides an overview of these services and where to find more information.

Gerenciamento de aplicativosApplication Management

Aplicativos WPFWPF executáveis frequentemente requerem um conjunto principal de funcionalidades que inclui o seguinte:Executable WPFWPF applications commonly require a core set of functionality that includes the following:

  • Criar e gerenciar a infraestrutura de aplicativo comum (incluindo criar um método de ponto de entrada e um loop de mensagem do Windows para receber mensagens de entrada e do sistema).Creating and managing common application infrastructure (including creating an entry point method and a Windows message loop to receive system and input messages).

  • Acompanhar o tempo de vida de um aplicativo e interagir com ele.Tracking and interacting with the lifetime of an application.

  • Recuperar e processar parâmetros de linha de comando.Retrieving and processing command-line parameters.

  • Compartilhar recursos Interface de UsuárioUI e propriedades no escopo do aplicativo.Sharing application-scope properties and Interface de UsuárioUI resources.

  • Detectar e processar exceções sem tratamento.Detecting and processing unhandled exceptions.

  • Retornar códigos de saída.Returning exit codes.

  • Gerenciar janelas de aplicativos autônomas.Managing windows in standalone applications.

  • Acompanhar a navegação em XBAPs (aplicativos de navegador XAML)XAML browser applications (XBAPs) e aplicativos autônomos com quadros e janelas de navegação.Tracking navigation in XBAPs (aplicativos de navegador XAML)XAML browser applications (XBAPs), and standalone applications with navigation windows and frames.

Esses recursos são implementados pela classe Application, que você adiciona a seus aplicativos usando uma definição de aplicativo.These capabilities are implemented by the Application class, which you add to your applications using an application definition.

Para obter mais informações, consulte Visão geral do gerenciamento de aplicativos.For more information, see Application Management Overview.

Arquivos de recurso, conteúdo e dados do aplicativo WPFWPF Application Resource, Content, and Data Files

WPFWPF estende o suporte central no Microsoft .NET Framework para recursos inseridos com suporte para três tipos de arquivos de dados não executáveis: recurso, conteúdo e dados.extends the core support in the Microsoft .NET Framework for embedded resources with support for three kinds of non-executable data files: resource, content, and data. Para mais informações, consulte Arquivos de recurso, conteúdo e dados do aplicativo WPF.For more information, see WPF Application Resource, Content, and Data Files.

Um componente chave do suporte para arquivos de dados não executáveis do WPF é a capacidade de identificar e carregá-los usando um único URIURI.A key component of the support for WPF non-executable data files is the ability to identify and load them using a unique URIURI. Para obter mais informações, consulte URIs "pack://" no WPF.For more information, see Pack URIs in WPF.

Janelas e caixas de diálogoWindows and Dialog Boxes

Os usuários interagem com aplicativos WPFWPF autônomos por meio de janelas.Users interact with WPFWPF standalone applications through windows. A finalidade de uma janela é hospedar conteúdo do aplicativo e expor a funcionalidade do aplicativo que normalmente permite aos usuários interagir com o conteúdo.The purpose of a window is to host application content and expose application functionality that usually allows users to interact with the content. No WPFWPF, as janelas são encapsuladas pela classe Window, que permite:In WPFWPF, windows are encapsulated by the Window class, which supports:

  • Criar e exibir janelas.Creating and showing windows.

  • Estabelecer relações de janela de proprietário/propriedade.Establishing owner/owned window relationships.

  • Configurar a aparência da janela (por exemplo, tamanho, localização, ícones, texto da barra de título, borda).Configuring window appearance (for example, size, location, icons, title bar text, border).

  • Acompanhar o tempo de vida de uma janela e interagir com ele.Tracking and interacting with the lifetime of a window.

Para obter mais informações, consulte Visão geral do WPF do Windows.For more information, see WPF Windows Overview.

Window dá suporte à capacidade de criar um tipo especial de janela conhecido como uma caixa de diálogo.supports the ability to create a special type of window known as a dialog box. Tipos modais e sem janela restrita de caixas de diálogo podem ser criados.Both modal and modeless types of dialog boxes can be created.

Para sua conveniência, os benefícios da reutilização e uma experiência de usuário consistente entre aplicativos, WPFWPF expõe três das caixas de diálogo comuns do Windows: OpenFileDialog, SaveFileDialog, e PrintDialog.For convenience, and the benefits of reusability and a consistent user experience across applications, WPFWPF exposes three of the common Windows dialog boxes: OpenFileDialog, SaveFileDialog, and PrintDialog.

Uma caixa de mensagem é um tipo especial de caixa de diálogo para mostrar informações textuais importantes para os usuários e para fazer perguntas simples como Sim/Não/OK/Cancelar.A message box is a special type of dialog box for showing important textual information to users, and for asking simple Yes/No/OK/Cancel questions. Use a classe MessageBox para criar e exibir caixas de mensagem.You use the MessageBox class to create and show message boxes.

Para obter mais informações, consulte Visão geral das caixas de diálogo.For more information, see Dialog Boxes Overview.

WPFWPF dá suporte à navegação de estilo da Web usando páginas (Page) e hiperlinks (Hyperlink).supports Web-style navigation using pages (Page) and hyperlinks (Hyperlink). A navegação pode ser implementada de uma variedade de formas, que incluem o seguinte:Navigation can be implemented in a variety of ways that include the following:

  • Páginas autônomas que são hospedadas em um navegador da Web.Standalone pages that are hosted in a Web browser.

  • Páginas compiladas em um XBAPXBAP que é hospedado em um navegador da Web.Pages compiled into an XBAPXBAP that is hosted in a Web browser.

  • Páginas compiladas em um aplicativo autônomo e hospedadas por uma janela de navegação (NavigationWindow).Pages compiled into a standalone application and hosted by a navigation window (NavigationWindow).

  • Páginas hospedadas por um quadro (Frame), que pode ser hospedado em uma página autônoma, ou uma página compilada em um XBAPXBAP ou um aplicativo autônomo.Pages that are hosted by a frame (Frame), which may be hosted in a standalone page, or a page compiled into either an XBAPXBAP or a standalone application.

Para facilitar a navegação, o WPFWPF implementa o seguinte:To facilitate navigation, WPFWPF implements the following:

  • NavigationService, o mecanismo de navegação compartilhada para processar solicitações de navegação que é usado pelo Frame, NavigationWindow, e XBAPsXBAPs para dar suporte à navegação intra-aplicativo., the shared navigation engine for processing navigation requests that is used by Frame, NavigationWindow, and XBAPsXBAPs to support intra-application navigation.

  • Métodos de navegação para iniciar a navegação.Navigation methods to initiate navigation.

  • Eventos de navegação para monitorar e interagir com o tempo de vida de navegação.Navigation events to track and interact with navigation lifetime.

  • Lembrar-se da navegação progressiva e regressiva usando um diário, que também pode ser inspecionado e manipulado.Remembering back and forward navigation using a journal, which can also be inspected and manipulated.

Para obter informações, consulte Visão geral de navegação.For information, see Navigation Overview.

WPFWPF também dá suporte a um tipo especial de navegação conhecido como navegação estruturada.also supports a special type of navigation known as structured navigation. A navegação estruturada pode ser usada para chamar uma ou mais páginas que retornam dados de forma estruturada e previsível, consistente com a chamada de funções.Structured navigation can be used to call one or more pages that return data in a structured and predictable way that is consistent with calling functions. Essa funcionalidade depende da classe PageFunction<T>, que é descrita posteriormente em Visão geral da navegação estruturada.This capability depends on the PageFunction<T> class, which is described further in Structured Navigation Overview. PageFunction<T> também serve para simplificar a criação de topologias complexas de navegação, que são descritos em visão geral de topologias de navegação.also serves to simplify the creation of complex navigation topologies, which are described in Navigation Topologies Overview.

HospedagemHosting

XBAPsXBAPs pode ser hospedado em Microsoft Internet ExplorerMicrosoft Internet Explorer ou o Firefox.can be hosted in Microsoft Internet ExplorerMicrosoft Internet Explorer or Firefox. Cada modelo de hospedagem tem seu próprio conjunto de considerações e restrições que são abordados em Hospedagem.Each hosting model has its own set of considerations and constraints that are covered in Hosting.

Compilar e implantarBuild and Deploy

Embora aplicativos WPFWPF simples possam ser criados por meio de um prompt de comando usando compiladores de linha de comando, o WPFWPF se integra ao Microsoft Visual StudioMicrosoft Visual Studio para dar suporte adicional que simplifica o processo de build e desenvolvimento.Although simple WPFWPF applications can be built from a command prompt using command-line compilers, WPFWPF integrates with Microsoft Visual StudioMicrosoft Visual Studio to provide additional support that simplified the development and build process. Para obter mais informações, consulte Compilando um aplicativo WPF.For more information, see Building a WPF Application.

Dependendo do tipo de aplicativo que você compilar, há uma ou mais opções de implantação para escolher.Depending on the type of application you build, there are one or more deployment options to choose from. Para obter mais informações, consulte Implantando um aplicativo WPF.For more information, see Deploying a WPF Application.

TítuloTitle DescriçãoDescription
Visão geral de gerenciamento do aplicativoApplication Management Overview Fornece uma visão geral da classe Application, incluindo o gerenciamento do tempo de vida do aplicativo, janelas, recursos de aplicativos e navegação.Provides an overview of the Application class including managing application lifetime, windows, application resources, and navigation.
Windows no WPFWindows in WPF Fornece detalhes do gerenciamento de janelas em seu aplicativo, incluindo como usar a classe Window e caixas de diálogo.Provides details of managing windows in your application including how to use the Window class and dialog boxes.
Visão geral de navegaçãoNavigation Overview Fornece uma visão geral do gerenciamento de navegação entre páginas do seu aplicativo.Provides an overview of managing navigation between pages of your application.
HospedagemHosting Apresenta uma visão geral de XBAPs (aplicativos de navegador XAML)XAML browser applications (XBAPs).Provides an overview of XBAPs (aplicativos de navegador XAML)XAML browser applications (XBAPs).
Compilar e implantarBuild and Deploy Descreve como compilar e implantar seu aplicativo WPF.Describes how to build and deploy your WPF application.
Introdução ao WPF no Visual StudioIntroduction to WPF in Visual Studio Descreve os principais recursos do WPF.Describes the main features of WPF.
Passo a passo: Meu primeiro aplicativo da área de trabalho do WPFWalkthrough: My first WPF desktop application Um passo a passo que mostra como criar um aplicativo WPF usando a navegação de página, layout, controles, imagens, estilos e associação.A walkthrough that shows how to create a WPF application using page navigation, layout, controls, images, styles, and binding.