HomeWindow не открывается после закрытия LoginWindow при запуске приложенияC#

Место общения программистов C#
Anonymous
HomeWindow не открывается после закрытия LoginWindow при запуске приложения

Сообщение Anonymous »

У меня есть приложение, созданное на C# + WPF и содержащее два окна: Перед запуском приложения я вызываю диалоговое окно, которое загружает LoginWindow, то есть, если UserId свойство не заполнено (как всегда).
Для этого посмотрите, как я настроил свой App.xaml< /code> и App.xaml.cs:

Код: Выделить всё

App.xaml:





Код: Выделить всё

App.xaml.cs:
public partial class App : Application
{
public static string UserId = string.Empty;

protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);

if (string.IsNullOrEmpty(UserId))
{
LoginWindow loginWindow = new LoginWindow();
bool? result = loginWindow.ShowDialog();

if (result != true)
{
Shutdown();
return;
}
}

HomeWindow homeWindow = new HomeWindow();
homeWindow.Show();
}
}
Внутри моего окна входа у меня есть кнопка, которая выполняет следующую функцию:

Код: Выделить всё

private void LoginButtonClick(object? sender, EventArgs e)
{
App.UserId = "user_ok";
Close();
}
Большая проблема заключается в том, что когда я запускаю приложение, диалоговое окно (

Код: Выделить всё

LoginWindow
) исчезает, но главное окно (

Код: Выделить всё

HomeWindow
) никогда не загружается.
Это приводит к закрытию моего приложения. В моем случае я бы хотел, чтобы сначала отображался экран входа в систему, а затем пользователю был показан главный экран.

Подробнее здесь: https://stackoverflow.com/questions/791 ... on-startup

Вернуться в «C#»