Tutorial de WPF para principiantes
¿Qué es WPF?
WPF es un marco para construir Windows Aplicaciones que permiten a los usuarios desarrollar interfaces de usuario ricas con animaciones 3D y colores intensos con una menor complejidad de código. 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 la interfaz sea más rápida y altamente escalable. WPF significa Windows Presentación 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 integrado 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 dibujar 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 Visual Studio | 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
- Documentos e impresión
- Seguridad, accesibilidad y localización
- Ofrece interoperabilidad con Windows Controles de formularios
- 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, proporcionan 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
- Apariencias como borde, imagen WPF y cuadro de visualización
- Cuadros de diálogo comunes 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 los estilos del 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
DISEÑO
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 utiliza double en lugar de float 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 formato basado en XML. XPS es un formato de documento multiplataforma y de código abierto.
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.
WPF Architectura
WPF es parte del marco .NET. Contiene código administrado y no administrado. Los componentes importantes de la arquitectura de WPF se explican en la siguiente figura:
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 al conectarse con Windows kernel y Usuario32.
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. Comencemos con la implementación sencilla siguiendo los pasos que se indican en los ejemplos de aplicaciones WPF que aparecen a continuación.
Paso 1) En Visual Studio, vaya a Archivo > Proyecto
Paso 2) En la ventana del nuevo proyecto
- Seleccione la aplicación WPF
- Ingrese el nombre como "MyWPF"
- haga clic en Aceptar
Paso 3) Visual Studio crea dos archivos de forma predeterminada
- Archivo XAML (MainWindow.xaml)
- Archivo CS (MainWindow.xaml.cs)
El MainWindow.xaml tiene
- Una ventana de diseño
- Archivo XAML
En las ventanas XAML, las siguientes etiquetas se escriben de forma predeterminada
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.
Paso 4) En la caja de herramientas,
- Arrastrar textoBox elemento a la ventana de diseño
- Un textoBox aparecerá en la ventana de diseño
- Verás el código XAML para texto.Box adicional
Paso 5) Cambie el texto a "Primer programa WPF".
Paso 6) Haga clic en el botón de Inicio
Paso 7) Verá una ventana en Salida
¡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.). | In Windows Forma todo el código escrito en un solo lugar. |
WPF puede crear interfaces de usuario para ambos Windows aplicaciones y aplicaciones web como Silverlight y XBAP. | No hay tal apoyo |
El conjunto de controles integrados de WPF es limitado | Los controles integrados son muy potentes |
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.
- Windows Los formularios y las páginas WPF pueden coexistir en la misma aplicación
- Puede desarrollar aplicaciones de página/ventana.
Guía rápida
- El formulario completo de WPF es Windows Presentación 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 Windows Controles de formularios
- 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 un marco más nuevo en comparación con WinForms, por lo que está más en sintonía con los estándares actuales.
- Windows Los formularios y las páginas WPF pueden coexistir en la misma aplicación