Better Call Zam
Evitar abrir la misma ventana más de una vez en WPF C#
En un proyecto de WPF con C# para abrir una ventana secundaria usamos algo como:
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. Es un hechizo simple pero inquebrantable.