public void ShowLogginDialog(IMainViewModel mainViewModel) { LogginModalDialogViewModel.Status = string.Empty; LogginModalDialogViewModel.Password = string.Empty; VisibleModalDialog = VisibleModalDialogEnum.LogginModalDialog; bool failedLoggin = true; while (failedLoggin) { frame.Continue = true; System.Windows.Threading.Dispatcher.PushFrame(frame); // blocks gui message pump & creates nested pump if (!LogginModalDialogViewModel.IsCanceled) { if (mainViewModel.SetAccessByUserPassword(LogginModalDialogViewModel.UserId, LogginModalDialogViewModel.Password)) { VisibleModalDialog = VisibleModalDialogEnum.NoneModalDialog; failedLoggin = false; } else { LogginModalDialogViewModel.Status = "Logowanie nie powiodło się."; } } } }