domingo, enero 09, 2011

Ventanas Modales WPF (Windows Presentation Foundation)

Windows Presentation Foundation es una tecnologia creada Por Microsoft, que usa xaml, una forma de xml, para facilitar la creacion de diseños en sus aplicaciones.

Bueno esa seria mi definicion si me preguntaran al respecto.pero podemos preguntarle a Microsoft si deseamos ( a ver si nos convence):

Windows Presentation Foundation (WPF) proporciona a los programadores un modelo de programación unificado con el que generar experiencias de cliente inteligentes de Windows, en las que se incorpora la interfaz de usuario, multimedia y documentos. ( http://msdn.microsoft.com/es-es/library/ms754130.aspx)

El primer problema que encontre con esta tecnologia fue el que da titulo a este post. El clasico caso en el que queremos mostrar un formulario de edicion al hacer click en un registro y necesitamos que sea una ventana modal.

En Windows Form hariamos algo como esto


ventanaModal1.showDialog();

y con esto ya esta todo hecho.

WPF tiene algunos inconveniente pequeño al respecto (o quizas sea alguna novedad que no alcance a comprender).

  1. Si Minimizamos nuestra aplicacion y la volvemos a maximizar luego nuestra ventana se pierde de la vista de nuestra aplicacion ( pero no podremos controlar la aplicacion hasta que cerremos esa ventana)
  2. Nuestra Ventana Se encuentra por defecto como una opcion en la barra de tareas ( lo cual me parece molestoso)

Bien al grano entonces . Si queremos una ventana modal tal y como nos la daria Windows Forms tendremos que agregar 2 lineas a nuestro codigo:

  1. ventanaModal1.ShowInTaskbar = false; // para que no aparezca en la barra de tareas
  2. VentanaModal1.Owner = WindowParent // WindowParent tiene que ser un objeto del tipo Window que sera el que controlara la ventana 
Nuestro codigo quedaria asi:

ventanaModal1.ShowInTaskbar
VentanaModal1.Owner
ventanaModal1.showDialog();

Espero ayudar a aliviar el sufrimiento a algun programador novato

No hay comentarios:

Publicar un comentario