Feature: Added WindowOpener class, which prevents having duplicate windows of the same type opened at the same time

This commit is contained in:
kerams
2014-04-11 19:16:59 +02:00
parent e0eb8c83e2
commit c36b5c77fc
3 changed files with 24 additions and 1 deletions

View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
namespace Wox.Helper
{
public static class WindowOpener
{
public static T Open<T>(params object[] args) where T : Window
{
var window = Application.Current.Windows.OfType<Window>().FirstOrDefault(x => x.GetType() == typeof(T))
?? (T)Activator.CreateInstance(typeof(T), args);
window.Show();
window.Focus();
Application.Current.MainWindow.Hide();
return (T)window;
}
}
}