visual ventana una studio personalizadas mensaje hacer error emergente dialogo cuadros cuadro controles como cajas c# .net silverlight silverlight-2.0

ventana - mensaje de error en c#



¿Cómo creo un cuadro de diálogo emergente en Silverlight? (6)

Me gustaría crear un cuadro de diálogo emergente en Silverlight en el que pueda manipular controles, ingresar datos y devolver un valor. Quiero que sea modal, de modo que cuando esté abierto, la página "Abajo" no sea accesible. No he encontrado una manera fácil de hacer esto todavía. ¿Alguna sugerencia?



Soy nuevo en el marco de Sliverlight y estoy empezando a descubrirlo, pero tengo una necesidad similar de un cuadro de diálogo modal emergente. Acabo de probar una idea que parece prometedora:

  1. Creé un Rectángulo (llamado "Escudo") que cubre todo el área de mi aplicación. Existe encima de todo en la aplicación principal. Configuré el pincel de relleno en Blanco, y el pincel de opacidad en un 81% para que se muestren los contenidos de la aplicación principal, pero ligeramente (como en deshabilitado). Luego asegúrate de que el "Escudo" se pueda probar con éxito. Ahora, cuando el "Escudo" esté visible, también, de hecho, bloqueará todas las entradas a los controles a continuación (al menos desde el mouse, aún no se ha probado el teclado). Cuando la aplicación se inicializa, establece la visibilidad "Escudo" en Contraída. En ese estado, no bloqueará la entrada a la aplicación principal.
  2. El cuadro de diálogo se construye en otro elemento canvas que existe en el orden z en la parte superior del escudo. Normalmente, el cuadro de diálogo será invisible, pero cuando lo necesito, simplemente configuro el "Escudo" como visible y el cuadro de diálogo como visible. Como el diálogo está en la parte superior del "Escudo", obtengo un comportamiento muy modal. Cuando el cuadro de diálogo está cerrado, vuelva a hacer que el lienzo del diálogo y el lienzo "Escudo" sean invisibles y que la aplicación principal vuelva a estar activa.

Estoy seguro de que esta es la forma más brutal de hacerlo y que eventualmente me concentraré en una construcción más elegante, pero funciona por ahora.



Sé que la pregunta era sobre una solución Silverlight 2, pero en Silverlight 3 (Beta ahora, RTW en julio de 2009), hay una ChildWindow incorporada que puede hacer todo lo que está buscando.