Tutorial de WPF para principiantes: cómo crear una aplicación [Ejemplo]

¿Qué es WPF?

WPF es un marco para crear aplicaciones de Windows que permiten a los usuarios desarrollar interfaces de usuario enriquecidas con animaciones 3D y colores intensos con menos código com.plexidad. Es un motor de renderizado basado en vectores que utiliza la aceleración de hardware de las tarjetas gráficas modernas, lo que hace que Ul sea más rápido y altamente escalable. WPF significa Windows Presentation Foundation.

WPF puede considerarse como una evolución de WinForms. Produce un sistema de visualización gráfica fácil de operar para Windows. Ofrece una fácil separación entre la interfaz de usuario y la lógica empresarial.

Las aplicaciones WPF se pueden implementar en su sistema como un programa de escritorio independiente o alojarse como un objeto incrustado en un sitio web.

¿Por qué WPF?

Hay muchas razones para utilizar la plataforma WPF, algunas de las más destacadas son:

  • Una plataforma ideal para usar si necesita trabajar con varios tipos de medios
  • WPF le permite crear una interfaz de usuario personalizada. También le ayuda cuando necesita cargar parte de la interfaz de usuario o desea vincular datos XML.
  • Le permite aprovechar la gran biblioteca de clases .NET tal como está construida .NET
  • Independencia de resolución, por lo que las aplicaciones desarrolladas con WMF se pueden ejecutar en dispositivos móviles o en un monitor de 20 pulgadas
  • WPF se basa en DirectX en lugar de WinAPI. Ofrece el sistema gráfico del ordenador cliente. Por tanto, ofrecer un mayor poder de renderizado gráfico.
  • Admite un modelo de flujo de documentos que permite una calidad de diseño de “edición de escritorio”
  • La apariencia y el comportamiento están vagamente relacionados. Esto permite a los diseñadores y desarrolladores trabajar en dos modelos separados.
  • En el marco WMF, puede diseñar herramientas gráficamente en documentos XML simples en lugar de analizar código.
  • Le permite utilizar la aceleración de hardware para dra.wing la GUI, para un mejor rendimiento

Historia de WPF

Windows 1.0 fue el primer entorno GUI de Microsoft. Funciona como una capa encima de DOS, apoyándose en los sistemas GDI y USER para la interfaz gráfica y de usuario.

DirectX se introdujo en el año 1995 como un sistema de gráficos de alto rendimiento. Estaba dirigido a juegos y otros entornos relacionados con gráficos. A lo largo de los años, se han lanzado muchas versiones con Directx9 que proporcionan una biblioteca para usar con el código mange.Net.

versión WPF Año de lanzamiento Versión .Net Versión de estudio visual Caracteristicas
3.0 2006 3.0 N/A Versión inicial.
Sin embargo, el desarrollo de WPF se puede realizar con VS 2005.
3.5 2007 3.5 contra 2008 Modificación y mejoras en:
Modelo de aplicación, encuadernación, controles, documentos, anotaciones y elementos 3-D Ul.
3.5 SP1 2008 3.5 SP1 N/A Soporte de pantalla de presentación nativa. Nuevo control del navegador web, compatibilidad con sombreadores de píxeles DirectX.
4.0 2010 4.0 contra 2010 Nuevos controles: Calendario. Cuadrícula de datos, Selector de fechas. Multitáctil y manipulación
4.5 2012 4.5 contra 2012 Tiempo de configuración más rápido y rendimiento mejorado para efectos de mapa de bits. Nuevos controles: Calendario. Cuadrícula de datos, Selector de fechas.
Multitáctil y manipulación
4.5.1 2013 4.5.1 contra 2013 Nuevo control de cinta
Nueva interfaz INotifyDataErrorlnfo
4.5.2 2014 4.5.2 NA Sin cambios importantes
Sin cambios importantes
4.6 2015 4.6 contra 2015 Soporte de ventana infantil transparente
Mejoras HDPI y táctiles

La última versión estable de WPF 5.0.6 que se lanzó en abril de 2021.

Características de WPF

Características de WPF
Características de WPF
  • Documentos e impresión
  • Seguridad, accesibilidad y localización
  • Ofrece interoperabilidad con controles de Windows Forms
  • Direct3D se utiliza en aplicaciones gráficas donde el rendimiento es importante
  • Utiliza el hardware de la tarjeta de video para renderizar.
  • Los gráficos basados ​​en vectores le permiten escalar su aplicación sin pérdida de calidad
  • WPF admite sistema de píxeles lógicos de punto flotante y color ARGB de 32 bits
  • Redefinir estilos y plantillas de control
  • Creación de fuentes internacionales a partir de fuentes compuestas
  • La representación de texto WPF le ayuda a aprovechar la tecnología ClearType
  • Le permite utilizar la técnica de almacenamiento en caché de texto pre-renderizado en la memoria de video.
  • Enfoque basado en recursos para cada control
  • Los temporizadores de presentación son inicializados y administrados por WPF
  • También se admite la relación entre vídeo y animación.
  • En WPF, un estilo es un conjunto de propiedades que deben aplicarse al contenido utilizado para la representación visual.
  • Las plantillas en WPF te ayudan a cambiar la Ul de tu documento
  • Los comandos son versiones de eventos más abstractas y poco acopladas.
  • La compatibilidad con comandos de WPF reduce la cantidad de código que necesitamos escribir

Siguiente en este WPF Tutorial de C #, aprenderemos sobre los tipos centrales y la infraestructura de WPF.

Tipos de núcleos e infraestructuras de WPF

Las clases en WPF se dividen en cuatro tipos diferentes:

  • Elemento de interfaz de usuario
  • MarcoElemento
  • elemento de contenido
  • Elemento de contenido del marco

Estas clases, conocidas como clases de elementos base. Proporciona la base para un modelo de composición de interfaces de usuario.

Las interfaces de usuario de WPF se componen de elementos ensamblados en una jerarquía de árbol. Se llama árbol de elementos. El árbol de elementos es una forma intuitiva de diseñar la interfaz de usuario. Es una estructura que le permite obtener la función de potentes servicios de interfaz de usuario.

XAML

El lenguaje de marcado de aplicaciones extensible, llamado "XAML" o "zammel", es una forma declarativa de definir interfaces de usuario.

Aquí está la definición XAML de un botón simple:

<Button
FontSize="16"
HorizontalAlignment="Center"
VerticalAlignment="Center"
>
Say Hello Guru99</Button>

Ventaja de usar el lenguaje XAML:

  • XAML separa la apariencia del front-end de la lógica del back-end
  • XAML es el método más sencillo para representar interfaces de usuario
  • XAML funciona eficazmente con herramientas.

Controles

El marco WPF admite muchos controles útiles como:

  • Editar controles como TextoBox, ChequeBox, Boton de radio
  • Controles de lista como ListaBox, Vista de lista, Vista de árbol
  • Información de usuario como etiqueta, WPF ProgressBar, información sobre herramientas
  • Acciones como menú, botón y barra de herramientas
  • Apariciones como borde, imagen WPF y vistabox
  • Diálogo común boxes como OpenFileDialog y PrintDialog.
  • Contenedores como TabContro, ScrollBar y GroupBox
  • Diseños como DocPanel, StackPanel y Grid
  • Navegación como marco e hipervínculo

La apariencia de los controles se puede personalizar con estilos y plantillas sin programación. También puede crear un control personalizado derivando una nueva clase a partir de una clase base adecuada.

Apariencia

WPF proporciona una función para personalizar la apariencia de su aplicación. Le permite configurar objetos y valores para cosas como fuentes, fondos, etc.

La función de estilos le permite estandarizar una apariencia específica para todo el producto. Le permite reemplazar la apariencia predeterminada manteniendo su comportamiento predeterminado.

La plantilla de datos le permite controlar la visualización predeterminada de los datos enlazados. Con la ayuda de temas, puede visualizar fácilmente estilos desde el sistema operativo.

Diseño y paneles

El diseño le ayuda a controlar el posicionamiento y el tamaño adecuados. Es parte del proceso de redacción de la presentación para el usuario. El marco WPF facilita el proceso de diseño y ofrece una mejor adaptabilidad de la apariencia de la interfaz de usuario.

La infraestructura de diseño se ofrece en varias clases: 1) StackPanel 2) DockPanel 3) WrapPanel 4) Grid y 5) Canvas

Gráficos

WPF proporciona un sistema de gráficos mejorado como

  • WPF utiliza unidades independientes del dispositivo, lo que permite la resolución y la independencia del dispositivo. Por lo tanto, cada píxel, que es independiente del dispositivo, se escala automáticamente con el sistema de configuración de puntos por pulgada.
  • WPF usa doble en lugar de flotante y admite una gama más amplia de colores
  • El motor de gráficos WPF está diseñado de tal manera que puede aprovechar el hardware de gráficos cuando esté disponible.

Documentos e impresión

El marco WPF ofrece tres tipos de documentos:

  • Documentos fijos: Este tipo de documento admite WYSIWPresentación de YG.
  • Documentos de flujo: Le permite ajustar y redistribuir el contenido en función de variables de tiempo de ejecución, como el tamaño de la ventana y la resolución del dispositivo.
  • Documentos XPS: Es una representación paginada de papel electrónico en un formato basado en XML. XPS es un formato de documento de código abierto y multiplataforma.

WPF permite un mejor control sobre el sistema de impresión. Incluye impresión remota y colas. Además, los documentos XPS se pueden imprimir directamente sin convertirlos a un formato de impresión.

Arquitectura de WPF

WPF es parte del marco .NET. Contiene código administrado y no administrado. Los componentes importantes de la arquitectura WPF se explican en la siguiente figura:

Arquitectura de WPF
Arquitectura de WPF

Componentes de la arquitectura WPF

  • PresentaciónMarco: Le ayuda a crear elementos de nivel superior como controles, estilos, diseño, ventanas, etc.
  • PresentaciónCore: Contiene tipos base como UIElement, Visual de todos los controles y las formas se derivan en PresentationFramework.dll.
  • CLR: Hace que el proceso de desarrollo sea productivo al ofrecer características como gestión de la memoria, manejo de errores, etc.
  • Milcore: Milcore es parte del código no administrado que ofrece una estrecha integración con DirectX.
  • DirectX: Es la API de bajo nivel que permite representar gráficos de WPF. Las conversaciones DirectX interactúan con los controladores y representan el contenido.
  • Usuario32: Es una API central que es ampliamente utilizada por muchos programas. Gestiona la memoria y la separación de procesos. User32 le ayuda a decidir qué elemento se colocará y en qué lugar de la pantalla.
  • kernel: La entrada se origina como una señal en un controlador de dispositivo en modo kernel y se enruta al proceso correcto y se conecta con el kernel de Windows y User32.

Instalación de WPF

Consulte este enlace para instalar WPF https://www.guru99.com/download-install-visual-studio.html

A continuación, en este tutorial de la aplicación WPF, crearemos nuestro primer WPF.

¿Cómo crear su primera aplicación WPF?

En este ejemplo de WPF, desarrollaremos una aplicación WPF básica. Entonces, comencemos la implementación simple siguiendowing los pasos indicados en los ejemplos de aplicación WPF a continuación.

Paso 1) En Visual Studio, vaya a Archivo > Proyecto

Crea tu primera aplicación WPF

Paso 2) En la ventana del nuevo proyecto

  1. Seleccione la aplicación WPF
  2. Ingrese el nombre como "MyWPF"
  3. haga clic en Aceptar

Crea tu primera aplicación WPF

Paso 3) Visual Studio crea dos archivos de forma predeterminada

  • Archivo XAML (MainWindow.xaml)
  • Archivo CS (MainWindow.xaml.cs)

Crea tu primera aplicación WPF

El MainWindow.xaml tiene

  1. Una ventana de diseño
  2. Archivo XAML

Crea tu primera aplicación WPF

En las ventanas XAML, lo siguientewing Las etiquetas se escriben de forma predeterminada.

Crea tu primera aplicación WPF

La Cuadrícula es el primer elemento por defecto.

MainWindow.xaml.cs contiene el código correspondiente detrás del archivo de diseño XAML.

Crea tu primera aplicación WPF

Paso 4) en herramientabox,

  1. Arrastrar textoBox elemento a la ventana de diseño
  2. Un textoBox aparecerá en la ventana de diseño
  3. Verás el código XAML para texto.Box adicional

Crea tu primera aplicación WPF

Paso 5) Cambie el texto a "Primer programa WPF".

Crea tu primera aplicación WPF

Paso 6) Haga clic en el botón de Inicio

Crea tu primera aplicación WPF

Paso 7) Verá una ventana en Salida

Crea tu primera aplicación WPF

¡Felicidades! Ha diseñado y creado su primera aplicación WPF. A continuación, en este tutorial de WPF para principiantes, veremos la diferencia entre WPF y WinForms.

WPF frente a WinForms

WPF WinForms
Es un marco más nuevo, por lo que está más en sintonía con los estándares actuales. Es más antiguo, por lo que está más probado y comprobado.
Es flexible y tiene muchas funciones. Puede diseñar aplicaciones muy ricas sin codificar ni comprar controles. No tan rico en funciones
Desarrolladores de 3rd Los controles del partido se centran en la compatibilidad con WPF, ya que es el futuro. Hay muchos controles de terceros que puedes comprar u obtener de forma gratuita.
XAML le permite crear y editar su GUI fácilmente. Permite dividir el trabajo entre un diseñador (XAML) y un programador (C#, ASP.net, etc.). En Windows Forms todo el código escrito en un solo lugar.
WPF puede crear interfaces de usuario tanto para aplicaciones de Windows como para aplicaciones web como Silverlight y XBAP. No hay tal apoyo
WPF en-box el conjunto de controles es limitado En-box Los controles son muy poderosos.

Tipo de aplicaciones creadas con WPF

  • WPF está intentando reemplazar los formularios web y los formularios de Windows: las aplicaciones se pueden crear para ejecutarse en un navegador o en una ventana independiente
  • Las páginas de Windows Forms y WPF pueden coexistir en la misma aplicación
  • Puede desarrollar aplicaciones de página/ventana.

Guía rápida

  • El formato completo de WPF es Windows Presentation Foundation
  • Es una plataforma ideal para usar si necesita tratar con varios tipos de medios.
  • Windows 1.0 fue el primer entorno GUI de Microsoft que estaba trabajando en DOS y confiando en los sistemas GDI y USER
  • WPF en .NET ofrece interoperabilidad con controles de Windows Forms
  • WPF se dividen en cuatro tipos diferentes como UIElement, FrameworkElement ContentElement y FrameworkContentElement
  • Los componentes más importantes de parte de la arquitectura WPF son PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32 y Kernel.
  • WPF es una compilación de marco más nuevaares WinForms, por lo que está más en sintonía con los estándares actuales
  • Las páginas de Windows Forms y WPF pueden coexistir en la misma aplicación