lunes, 9 de septiembre de 2013

Screen Manager

Aunque no es común trabajar en proyectos que requieran de múltiples pantallas, en aquellos que lo necesitan es bastante complicado trabajar con la gestión de los diferentes dispositivos de salida visuales.
Os traigo un módulo que permite gestionar el uso de ventanas y monitores dentro de una librería y a través de configuración, permitiendo centrar el desarrollo en las vistas, pudiendo presentar las vistas de nuestra aplicación en cualquier región definida previamente.
image
El módulo y el código de ejemplo podéis encontrarlo en: http://screenmanager.codeplex.com/

Funcionamiento

ScreenManager utiliza un fichero de configuración donde se especifican los contenedores para las vistas.
image
Dentro de la configuración se definen las ventanas y tipos de ventanas que hay y dentro de cada ventana se definen los contenedores de las vistas. El funcionamiento es similar a los ContentPlaceHolder de ASP.NET.
image
Window
Contiene una propiedad name que permite identificar la ventana. También contiene una propiedad type que especifica el tipo a instanciar de la ventana.

ContainerViews
En cada ventana se definen contenedores del tipo FrameworkElement (Grid, Border, etc.). Se asigna un nombre descriptivo a estos contenedores. Estos contenedores se asocian a un “nombre” que es el que se utilizará en el código para hacer referencia al contenedor de la vista.
image
Ejemplo
En el ejemplo expuesto se usa un manejador de vistas, que es el encargado de derivar la vista a su contenedor
image

Identificación de monitores

ScreenManager permite mostrar el identificador del monitor durante un tiempo determinado a través del método Identify(miliseconds)
Ejemplo:
         ScreenManager.Identify(3000);

Apagado/Encendido

ScreenManager permite controlar el apagado y encendido de los monitores a través de los métodos TurnOff() y TurnOn();
Ejemplo:
         ScreenManager.TurnOff();          

ScreenManager.TurnOn();

No hay comentarios:

Etiquetas