private void SetDialogControls(DialogWindowControls controls) { ClearControlsContainer(); switch (controls) { case (DialogWindowControls.LoadIndicator): SetLoadingIndicator(); break; case (DialogWindowControls.Ok): SetOkButton(); break; case (DialogWindowControls.OkCancel): SetOkCancelButtons(); break; case (DialogWindowControls.YesNo): SetYesNoButtons(); break; case (DialogWindowControls.Prompt): SetPromt(""); break; } EnableControls(); }
public DialogWindowResult Show(string message, DialogWindowControls controls = DialogWindowControls.Ok) { Message = message; Visibility = Visibility.Visible; SetDialogControls(controls); LockChildren(); LockElement.IsEnabled = false; _hideRequest = false; while (!_hideRequest) { // HACK: Stop the thread if the application is about to close if (Dispatcher.HasShutdownStarted || Dispatcher.HasShutdownFinished) { break; } // HACK: Simulate "DoEvents" Dispatcher.Invoke( DispatcherPriority.Background, new ThreadStart(delegate { })); Thread.Sleep(20); } return _result; }