Windows Presentation Foundation es una herramienta de programación para el diseño de interfaces de usuario para las aplicaciones informáticas basadas en Windows. WPF opera en el marco . NET , utiliza Extensible Application Markup Language y combina gráficos 2D/3D , documentos y archivos multimedia en un marco único , fácil de usar . Incluido en WPF son seis árboles de la clase primaria, que también se llaman jerarquías . WPF 4.0
En el centro de WPF es un motor de renderizado basado en vectores que no se limita por la resolución , lo que significa que se puede utilizar para diseñar una aplicación que funciona con cualquier navegador o dispositivo de Windows. La última versión de WPF se basa en . NET Framework 4 , e incluye nuevos controladores para construir aplicaciones de negocio , nuevas clases para definir aspectos de control y una mejor representación .
Class Jerarquía general
< p> WPF contiene un sistema de jerarquía de clases , dentro de la cual se pueden encontrar los controles , botones y todas las funciones del software. Incluyen System.Threading.DispatcherObject , System.Windows.DependecyObject , System.Windows.Media.Visual , System.Windows.UIElement , Systems.Windows.FrameworkElement y System.Windows.Controls.Control .
< Br >
System.Threading.DispatcherObject
Dentro de esta jerarquía son funciones que se encargan de la concurrencia y funciones amenazantes , todas las cuales utilizan el bucle de mensajes de Win32. Esta última está basada en hechos , como aplicaciones transmiten una función de evento a la cola de mensajes Win32 cuando necesitan algo. Básicamente , se utiliza el objeto Dispatcher para crear un objeto único subproceso que a continuación se da un puntero al despachador.
System.Windows.DependencyObject
esta clase fue construido para poner el foco sobre las propiedades sobre los acontecimientos. Realiza un seguimiento de las dependencias entre las expresiones de propiedades y luego de nuevo automáticamente valida los valores de la propiedad como el cambio de dependencias. Además , las propiedades se almacenan de manera más eficiente en los objetos de capa superior , es decir, los objetos dependientes menores no necesariamente tienen todas sus propiedades asociadas a ellos. Esto reduce el espacio de almacenamiento necesario para manejar la aplicación y mejora la velocidad de procesamiento .
System.Windows.Media.Visual
El árbol de la clase Visual contiene las funciones de dibujo necesarias para crear elementos visuales. Tenga en cuenta que todas las instrucciones visuales se almacenan en caché para que los píxeles se pueden crear con una frecuencia de actualización más alta. Esto a su vez en reduce la posibilidad de la aplicación deje de responder . Además , esta clase se basa el contenido de la " vuelta al frente ", es decir nuevos píxeles simplemente se dibujan sobre viejos píxeles. El beneficio de esto es que permite crear contenido visual semi - transparente.
System.Windows.UIElement
Esta clase se encarga de mis sub -tareas relacionadas con la distribución , de entrada y de los acontecimientos. Las funciones de diseño le permiten establecer el tamaño y la disposición de un componente , mientras que las funciones de entrada manejan transacciones de palabras clave y el ratón. El centro de funciones clave en torno a los enlaces de comando , en el que ciertos movimientos de entrada puede estar vinculada directamente a los comandos específicos y sus eventos relacionados.
System.Windows.FrameworkElement
El árbol FrameworkElement contiene políticas y personalizaciones que pertenecen a los diseños . A diferencia de UIElement , sin embargo , FrameworkElement se ocupa más de las propiedades de diseño de la unidad . Tales propiedades incluyen HorizontalAlignment , VerticalAlignment , MinWidth y Margen . Además, las características de las plantillas de datos de clase , en el que el camino se organizan los datos depende del tipo de datos que se ha accedido.
System.Windows.Controls.Control
La final jerarquía de clases de WPF contanis numerosas propiedades "stock " para personalizar el aspecto de los controles . También se ocupa de los enlaces de algunos comandos, como un botón rojo "X " , a ciertos movimientos de entrada , como alguien haciendo clic en dicho botón . En particular , sino que le permite personalizar la forma en que funcionan estos componentes relacionados y aparecen
.