martes, 1 de marzo de 2016

Evitar abrir la misma ventana más de una vez WPF C#

En un proyecto de WPF con C# para abrir una ventana secundaria usamos algo como:
Ventana2 v2 = new Ventana2();
v2.Show();

Suponiendo que esto se ejecute cada vez que haces clic en un botón, cada que des ese clic se abrirá la misma ventana. Para evitar eso, agrega esta validación a tu código:
           if (!Application.Current.Windows.OfType().Any())
           {
             Ventana2 v2 = new Ventana2();
             v2.Show();
           }
Lo que hace es buscar si dicha ventana ya ha sido instanciada, de ser así no la abre y es como evitamos tener la misma ventana abierta muchas veces. Por el contrario si no ha sido abierta abre la ventana que especifiques.
Espero que les haya sido útil.

No hay comentarios:

Publicar un comentario