Desarrollo de aplicacionesApplication Development

Windows Presentation Foundation (WPF) es un marco de presentación que se puede usar para desarrollar los siguientes tipos de aplicaciones:Windows Presentation Foundation (WPF) is a presentation framework that can be used to develop the following types of applications:

  • Aplicaciones independientes (aplicaciones Windows de estilo tradicional compiladas como ensamblados ejecutables que se instalan y se ejecutan desde el equipo cliente).Standalone Applications (traditional style Windows applications built as executable assemblies that are installed to and run from the client computer).

  • Aplicaciones de explorador XAML (XBAP) (aplicaciones compuestas de páginas de navegación que se compilan como ensamblados ejecutables y hospedados por exploradores Web, como Microsoft Internet Explorer o Mozilla Firefox).XAML browser applications (XBAPs) (applications composed of navigation pages that are built as executable assemblies and hosted by Web browsers such as Microsoft Internet Explorer or Mozilla Firefox).

  • Bibliotecas de control personalizadas (ensamblados no ejecutables que contienen controles reutilizables).Custom Control Libraries (non-executable assemblies containing reusable controls).

  • Bibliotecas de clases (ensamblados no ejecutables que contienen clases reutilizables).Class Libraries (non-executable assemblies that contain reusable classes).

Nota

Se recomienda encarecidamente no usar los tipos WPF en un servicio de Windows.Using WPF types in a Windows service is strongly discouraged. Si intenta usar estas características en un servicio de Windows, pueden no funcionar como se esperaba.If you attempt to use these features in a Windows service, they may not work as expected.

Para compilar este conjunto de aplicaciones, WPFWPF implementa un host de servicios.To build this set of applications, WPFWPF implements a host of services. En este tema se proporciona información general sobre estos servicios y se indica dónde buscar más información.This topic provides an overview of these services and where to find more information.

Administración de aplicacionesApplication Management

Las aplicaciones ejecutables de WPFWPF suelen necesitar un conjunto básico de funciones, que incluye las siguientes:Executable WPFWPF applications commonly require a core set of functionality that includes the following:

  • Crear y administrar la infraestructura de aplicaciones común (lo que incluye crear un método de punto de entrada y un bucle de mensajes de Windows para recibir los mensajes del sistema y de entrada).Creating and managing common application infrastructure (including creating an entry point method and a Windows message loop to receive system and input messages).

  • Realizar el seguimiento de la duración de una aplicación e interactuar con ella.Tracking and interacting with the lifetime of an application.

  • Recuperar y procesar los parámetros de la línea de comandos.Retrieving and processing command-line parameters.

  • Compartir propiedades del ámbito de la aplicación y recursos de la IUUI.Sharing application-scope properties and IUUI resources.

  • Detectar y procesar las excepciones no controladas.Detecting and processing unhandled exceptions.

  • Devolver códigos de salida.Returning exit codes.

  • Administrar ventanas en las aplicaciones independientes.Managing windows in standalone applications.

  • Navegación de seguimiento en aplicaciones de explorador XAML (XBAP) y aplicaciones independientes con ventanas de navegación y marcos.Tracking navigation in XAML browser applications (XBAPs), and standalone applications with navigation windows and frames.

Estas funciones se implementan mediante la clase Application, que se agrega a las aplicaciones por medio de una definición de aplicación.These capabilities are implemented by the Application class, which you add to your applications using an application definition.

Para obtener más información, vea Información general sobre la administración de aplicaciones.For more information, see Application Management Overview.

Archivos de recursos, contenido y datos de aplicaciones de WPFWPF Application Resource, Content, and Data Files

WPFWPF amplía la compatibilidad básica en el marco de Microsoft .NET para los recursos incrustados con compatibilidad con tres tipos de archivos de datos no ejecutables: recursos, contenido y datos.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 obtener más información, vea Archivos de recursos, contenido y datos de aplicaciones de WPF.For more information, see WPF Application Resource, Content, and Data Files.

Un componente clave de la compatibilidad con los archivos de datos no ejecutables de WPF es la capacidad de identificarlos y cargarlos mediante un URI único.A key component of the support for WPF non-executable data files is the ability to identify and load them using a unique URI. Para obtener más información, vea Empaquetar URI en WPF.For more information, see Pack URIs in WPF.

Ventanas y cuadros de diálogoWindows and Dialog Boxes

Los usuarios interactúan con las aplicaciones independientes de WPFWPF por medio de ventanas.Users interact with WPFWPF standalone applications through windows. El propósito de una ventana es hospedar contenido de la aplicación y exponer la función de la aplicación que suele permitir a los usuarios interactuar con el contenido.The purpose of a window is to host application content and expose application functionality that usually allows users to interact with the content. En WPFWPF, las ventanas están encapsuladas en la clase Window, que permite:In WPFWPF, windows are encapsulated by the Window class, which supports:

  • Crear y mostrar las ventanas.Creating and showing windows.

  • Establecer relaciones entre ventanas propietarias y pertenecientes.Establishing owner/owned window relationships.

  • Configurar el aspecto de la ventana (por ejemplo, tamaño, ubicación, iconos, texto de la barra de título, borde).Configuring window appearance (for example, size, location, icons, title bar text, border).

  • Realizar el seguimiento de la duración de una ventana e interactuar con ella.Tracking and interacting with the lifetime of a window.

Para obtener más información, vea Información general sobre ventanas de WPF.For more information, see WPF Windows Overview.

Window admite la capacidad de crear un tipo especial de ventana denominado cuadro de diálogo.Window supports the ability to create a special type of window known as a dialog box. Se pueden crear los tipos modales y no modales de cuadros de diálogo.Both modal and modeless types of dialog boxes can be created.

Para mayor comodidad y las ventajas de la reusabilidad y una experiencia de usuario coherente en todas las aplicaciones, WPFWPF expone tres de los cuadros de diálogo comunes de Windows: OpenFileDialog, SaveFileDialogy 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.

Un cuadro de mensaje es un tipo especial de cuadro de diálogo para mostrar información de texto importante a los usuarios y plantear preguntas sencillas de Sí/No/Aceptar/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 la clase MessageBox para crear y mostrar cuadros de mensajes.You use the MessageBox class to create and show message boxes.

Para obtener más información, vea Información general sobre cuadros de diálogo.For more information, see Dialog Boxes Overview.

WPFWPF admite la navegación tipo web mediante páginas (Page) e hipervínculos (Hyperlink).supports Web-style navigation using pages (Page) and hyperlinks (Hyperlink). La navegación se puede implementar de diversas maneras que incluyen las siguientes:Navigation can be implemented in a variety of ways that include the following:

  • Páginas independientes que se hospedan en un explorador web.Standalone pages that are hosted in a Web browser.

  • Páginas compiladas en una aplicación XBAP hospedada en un explorador Web.Pages compiled into an XBAP that is hosted in a Web browser.

  • Páginas compiladas en una aplicación independiente y hospedadas por una ventana de navegación (NavigationWindow).Pages compiled into a standalone application and hosted by a navigation window (NavigationWindow).

  • Páginas hospedadas por un marco (Frame), que se pueden hospedar en una página independiente, o una página compilada en una aplicación XBAP o en una aplicación independiente.Pages that are hosted by a frame (Frame), which may be hosted in a standalone page, or a page compiled into either an XBAP or a standalone application.

Para facilitar la navegación, WPFWPF implementa lo siguiente:To facilitate navigation, WPFWPF implements the following:

  • NavigationService, el motor de navegación compartido para procesar solicitudes de navegación utilizadas por Frame, NavigationWindowy XBAP para admitir la navegación dentro de la aplicación.NavigationService, the shared navigation engine for processing navigation requests that is used by Frame, NavigationWindow, and XBAPs to support intra-application navigation.

  • Métodos de navegación para iniciar la navegación.Navigation methods to initiate navigation.

  • Eventos de navegación para realizar el seguimiento de la duración de la navegación e interactuar con ella.Navigation events to track and interact with navigation lifetime.

  • Uso del diario, que se puede inspeccionar y manipular, para memorizar la navegación hacia delante y hacia atrás.Remembering back and forward navigation using a journal, which can also be inspected and manipulated.

Para obtener más información, vea Información general sobre navegación.For information, see Navigation Overview.

WPFWPF también admite un tipo especial de navegación denominado navegación estructurada.also supports a special type of navigation known as structured navigation. La navegación estructurada se puede usar para llamar a una o más páginas que devuelven datos de una manera estructurada y previsible, y que es coherente con las funciones de llamada.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. Esta funcionalidad depende de la clase PageFunction<T>, que se describe más detalladamente en Información general sobre la navegación estructurada.This capability depends on the PageFunction<T> class, which is described further in Structured Navigation Overview. PageFunction<T> también sirve para simplificar la creación de topologías de navegación complejas, que se describen en Información general sobre topologías de navegación.PageFunction<T> also serves to simplify the creation of complex navigation topologies, which are described in Navigation Topologies Overview.

HospedajeHosting

Las XBAP se pueden hospedar en Microsoft Internet Explorer o Firefox.XBAPs can be hosted in Microsoft Internet Explorer or Firefox. Cada modelo de hospedaje tiene su propio conjunto de consideraciones y restricciones, que se abordan en el tema Hospedar aplicaciones de WPF.Each hosting model has its own set of considerations and constraints that are covered in Hosting.

Compilación e implementaciónBuild and Deploy

Aunque las aplicaciones de WPFWPF sencillas se pueden crear desde un símbolo del sistema mediante compiladores de la línea de comandos, WPFWPF se integra con Visual Studio para proporcionar compatibilidad adicional que simplificó el desarrollo y el proceso de compilación.Although simple WPFWPF applications can be built from a command prompt using command-line compilers, WPFWPF integrates with Visual Studio to provide additional support that simplified the development and build process. Para obtener más información, vea Compilar una aplicación de WPF (WPF).For more information, see Building a WPF Application.

Según el tipo de aplicación que se compile, puede elegir entre una o más opciones de implementación.Depending on the type of application you build, there are one or more deployment options to choose from. Para obtener más información, vea Implementar una aplicación de WPF.For more information, see Deploying a WPF Application.

TitleTitle DescripciónDescription
Información general sobre la administración de aplicacionesApplication Management Overview Proporciona información general sobre la clase Application incluida la administración de la duración de la aplicación, las ventanas, los recursos de la aplicación y la navegación.Provides an overview of the Application class including managing application lifetime, windows, application resources, and navigation.
Windows en aplicaciones para WPFWindows in WPF Proporciona información detallada sobre la administración de ventanas en la aplicación incluida la forma de usar la clase Window y los cuadros de diálogo.Provides details of managing windows in your application including how to use the Window class and dialog boxes.
Información general sobre navegaciónNavigation Overview Proporciona información general sobre la administración de la navegación entre las páginas de la aplicación.Provides an overview of managing navigation between pages of your application.
Hospedar aplicaciones de WPFHosting Proporciona información general sobre las aplicaciones de explorador XAML (XBAP).Provides an overview of XAML browser applications (XBAPs).
Compilar e implementar aplicaciones WPFBuild and Deploy Describe cómo compilar e implementar la aplicación de WPF.Describes how to build and deploy your WPF application.
Introducción a WPF en Visual StudioIntroduction to WPF in Visual Studio Describe las características principales de WPF.Describes the main features of WPF.
Tutorial: Mi primera aplicación de escritorio WPFWalkthrough: My first WPF desktop application Un tutorial que muestra cómo crear una aplicación de WPF mediante la navegación por páginas, diseño, controles, imágenes, estilos y enlaces.A walkthrough that shows how to create a WPF application using page navigation, layout, controls, images, styles, and binding.