Desarrollo de aplicaciones

Windows Presentation Foundation (WPF) es un marco de presentación que se puede utilizar para desarrollar los siguientes tipos de aplicaciones:

  • Aplicaciones independientes (aplicaciones en el estilo tradicional de Windows compiladas como ensamblados ejecutables que se instalan en el equipo cliente y se ejecutan desde él).

  • XAML browser applications (XBAPs) (aplicaciones compuestas de páginas de navegación que se compilan como ensamblados ejecutables y se hospedan en exploradores web como Microsoft Internet Explorer o Mozilla Firefox).

  • Bibliotecas de control personalizadas (ensamblados no ejecutables que contienen controles reutilizables).

  • Bibliotecas de clases (ensamblados no ejecutables que contienen clases reutilizables).

NotaNota

Se recomienda encarecidamente no usar los tipos WPF en un servicio de Windows.Si intenta utilizar estas características en un servicio de Windows, pueden no funcionar como se esperaba.

Para compilar este conjunto de aplicaciones, WPF implementa un host de servicios. En este tema se proporciona información general sobre estos servicios y se indica dónde buscar más información.

Este tema contiene las secciones siguientes.

  • Administración de aplicaciones
  • Archivos de recursos, contenido y datos de aplicaciones de WPF
  • Ventanas y cuadros de diálogo
  • Navegación
  • Hospedaje
  • Compilación e implementación
  • Rendimiento de la aplicación
  • Temas relacionados

Administración de aplicaciones

Las aplicaciones ejecutables de WPF suelen requerir un conjunto básico de funcionalidades, que incluye las siguientes:

  • 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).

  • Realizar el seguimiento de la duración de una aplicación e interactuar con él.

  • Recuperar y procesar parámetros de la línea de comandos.

  • Compartir propiedades del ámbito de la aplicación y recursos de la UI.

  • Detectar y procesar las excepciones no controladas.

  • Devolver códigos de salida.

  • Administrar las ventanas en las aplicaciones independientes.

  • Realizar el seguimiento de la navegación en las XAML browser applications (XBAPs), y en las aplicaciones independientes con ventanas y marcos de navegación.

Estas funciones se implementan mediante la clase Application, que se agrega a las aplicaciones por medio de una definición de aplicación.

Para obtener más información, vea Información general sobre la administración de aplicaciones.

Archivos de recursos, contenido y datos de aplicaciones de WPF

WPF extiende la compatibilidad básica de Microsoft .NET Framework para los recursos incrustados con compatibilidad para tres tipos de archivos de datos no ejecutables: de recursos, de contenido y de datos. Para obtener más información, vea Archivos de recursos, contenido y datos de aplicaciones de WPF.

Un componente clave de la compatibilidad con archivos de datos no ejecutables de WPF es la capacidad de identificarlos y cargarlos utilizando un URI único. Para obtener más información, vea Empaquetar URI en WPF.

Los usuarios interactúan con las aplicaciones independientes de WPF por medio de ventanas. El propósito de una ventana es hospedar contenido de la aplicación y exponer la funcionalidad de la aplicación que suele permitir a los usuarios interactuar con el contenido. En WPF, las ventanas están encapsuladas en la clase Window, que permite:

  • Crear y mostrar las ventanas.

  • Establecer relaciones entre ventanas propietarias y pertenecientes.

  • Configurar el aspecto de la ventana (por ejemplo, tamaño, ubicación, iconos, texto de la barra de título, borde).

  • Realizar el seguimiento de la duración de una ventana e interactuar con ella.

Para obtener más información, vea Información general sobre ventanas de WPF.

Window admite la capacidad de crear un tipo especial de ventana denominado cuadro de diálogo. Se pueden crear los tipos modales y no modales de cuadros de diálogo.

Para mayor comodidad y para ofrecer las ventajas de reusabilidad, así como una experiencia del usuario coherente en todas las aplicaciones, WPF expone tres de los cuadros de diálogo comunes de Windows, que son: OpenFileDialog, SaveFileDialog y PrintDialog.

Un cuadro de mensaje es un tipo especial de cuadro de diálogo utilizado para mostrar información de texto importante a los usuarios y plantear preguntas sencillas de Sí/No/Aceptar/Cancelar. Para crear y mostrar cuadros de mensaje se utiliza la clase MessageBox.

Para obtener más información, vea Información general sobre cuadros de diálogo.

WPF admite la navegación de tipo web con páginas (Page) e hipervínculos (Hyperlink). La navegación se puede implementar de diversas maneras; entre otras:

  • Páginas independientes que se hospedan en un explorador web.

  • Páginas compiladas en un XBAP que se hospeda en un explorador web.

  • Páginas compiladas en una aplicación independiente y hospedadas por una ventana de navegación (NavigationWindow).

  • Páginas hospedadas por un marco (Frame), hospedadas en una página que puede ser independiente o bien compilada en una XBAP o en una aplicación independiente.

Para facilitar la navegación, WPF implementa lo siguiente:

  • NavigationService, el motor de navegación compartido para procesar las solicitudes de navegación utilizado Frame, NavigationWindow y XBAPs para admitir la navegación dentro de la aplicación.

  • Métodos de navegación para iniciar la navegación.

  • Eventos de navegación para realizar el seguimiento de la duración de la navegación e interactuar con ella.

  • Uso del diario (que se puede inspeccionar y manipular) para memorizar la navegación hacia delante y hacia atrás.

Para obtener más información, vea Información general sobre navegación.

WPF también admite un tipo especial de navegación denominado navegación estructurada. La navegación estructurada se puede utilizar para llamar a una o más páginas que devuelven datos de una manera estructurada y previsible coherente con las funciones que realizaron las llamadas. Esta funcionalidad depende de la clase PageFunction<T>, que se describe más detalladamente en Información general sobre la navegación estructurada. 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.

Hospedaje

Las aplicaciones XBAPs se pueden hospedar en Microsoft Internet Explorer o Firefox. Cada modelo de hospedaje tiene su propio conjunto de consideraciones y restricciones, que se abordan en el tema Hospedar aplicaciones de WPF.

Compilación e implementación

Aunque las aplicaciones de WPF simples se pueden compilar desde un símbolo del sistema mediante compiladores de línea de comandos, WPF se integra con Microsoft Visual Studio a fin de proporcionar compatibilidad adicional para simplificar el proceso de desarrollo y compilación. Para obtener más información, vea Compilar una aplicación de WPF (WPF).

Según el tipo de aplicación que se genere, puede elegir entre una o más opciones de implementación. Para obtener más información, vea Implementar una aplicación de WPF.

Rendimiento de la aplicación

Para obtener consideraciones de rendimiento específicas de WPF, vea Optimizar WPF: Rendimiento de aplicaciones.

Temas relacionados

Título

Descripción

Información general sobre la administración de aplicaciones

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.

Windows en aplicaciones para WPF

Proporciona información detallada sobre la administración de ventanas en la aplicación incluida la forma de utilizar la clase Window y los cuadros de diálogo.

Información general sobre navegación

Proporciona información general sobre la administración de la navegación entre las páginas de la aplicación.

Información general sobre los complementos de WPF

Proporciona información sobre cómo utilizar el modelo de complementos de .NET Framework para crear una aplicación de WPF extensible.

Hospedar aplicaciones de WPF

Proporciona información general sobre XAML browser applications (XBAPs).

Compilar e implementar aplicaciones WPF

Describe cómo compilar e implementar la aplicación de WPF.

Rendimiento

Proporciona sugerencias para optimizar el rendimiento de la aplicación de WPF.

Introducción a WPF

Describe las características principales de WPF.

Tutorial: Introducción a WPF

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.