Я использую заставку с шириной, высотой и т. Д. В качестве границ 0. Это окно содержит проверку подтверждения пользователя. При успешной проверке он вызывает MainWindow.xaml с событием ShowDialog (), а с другой стороны, если проверка не удалась, он показывает LoginWindow.xaml с использованием того же события.
LoginWindow содержит адрес электронной почты, пароль, кнопку входа
Главное окно содержит кнопку выхода из системы
ВКЛ. При нажатии кнопки входа в систему раскладка заставки обновляется и проверяется на наличие пользовательских данных, которые содержат действительную информацию, затем открывает MainWindow
ВКЛ. При нажатии кнопки выхода из системы в MainWindow, пользовательские данные обнуляются, снова обновляется макет заставки и проверяется пользовательская информация, которая теперь является нулевой. Так что отображается окно входа в систему
Проблема в панели задач, которая показывает прозрачный экран-заставку при наведении иконки приложения, но не текущее активное окно, которое вызывается с помощью события ShowDialog () из файла splashscreen.xaml.
Как скрыть прозрачный экран-заставку и отображать только текущее активное окно ??
Ниже приведен метод в файле SplashScreen.xaml на обновленном макете
SplashScreen.cs
private async void SplashScreen_LayoutUpdated(object sender, System.EventArgs e)
{
this.IsVisible = false;
isShowingDialog = true;
while (true)
{
var user = DBUtil.GetLoggedInAccount();
///////if user variable is null then loginwindow is displayed///////
if (user == null || user.EncPwd == null)
{
var window = new LoginWindow();
if (await window.ShowDialog<bool>())
{
break;
}
}
else
{
var window = new MainWindow();
///////On logout button press in mainwindow ///////
if (await window.ShowDialog<bool>())
{
break;
}
}
}
this.Close();
}