using System; using System.Threading; using System.Threading.Tasks; using System.Windows; using System.Windows.Input; using Launcher.Code; namespace Launcher.XAML { /// /// Interaction logic for MessageWindow.xaml /// public partial class MessageWindow : Window { public string Caption { get; set; } public string Message { get; set; } public MessageWindow(string caption = "caption", string message = "") { Caption = caption; Message = message; InitializeComponent(); } private void OkButtonClick(object sender, RoutedEventArgs e) { Close(); } private void CloseCommandExecuted(object sender, ExecutedRoutedEventArgs e) { Close(); } private void Grid_MouseDown(object sender, MouseButtonEventArgs e) { DragMove(); } public static void Show(string caption, string message) { Thread thread = new Thread(() => { MessageWindow window = new MessageWindow(caption, message); window.ShowDialog(); }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); thread.Join(); } public static void ShowErrorMessage(string message, bool closeClient = true) { Thread thread = new Thread(() => { MessageWindow window = new MessageWindow(Properties.Resources.Message_Error, message); if (closeClient) window.Closed += (o, args) => ((App)App.Current).SaveShutdown(-1); window.ShowDialog(); }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); thread.Join(); } } }