using System; using System.Linq; using System.Windows; using System.Windows.Media.Animation; namespace BetterEN5.UI { public partial class BetterSeewoMainWindow : Window { public BetterSeewoMainWindow() { InitializeComponent(); Loaded += OnLoaded; } private void OnLoaded(object sender, RoutedEventArgs e) { var storyboard = (Storyboard)Resources["ScaleInStoryboard"]; BeginStoryboard(storyboard); } private void Minimize_Click(object sender, RoutedEventArgs e) { WindowState = WindowState.Minimized; } private void Maximize_Click(object sender, RoutedEventArgs e) { WindowState = WindowState == WindowState.Maximized ? WindowState.Normal : WindowState.Maximized; } private void Close_Click(object sender, RoutedEventArgs e) { Close(); } public void RefreshModule() { En5Module?.RefreshStatusAsync(); } public static void ShowWindow() { Application.Current.Dispatcher.Invoke(() => { var existing = Application.Current.Windows.OfType().FirstOrDefault(); if (existing != null) { if (existing.WindowState == WindowState.Minimized) existing.WindowState = WindowState.Normal; existing.Activate(); return; } var window = new BetterSeewoMainWindow(); window.Show(); }); } } }