Нет, App.xaml - это не класс Window, это класс вашего приложения.
Вы все еще можете переписать метод OnStartup()
, чтобы обработать свою собственную пользовательскую логику и запустить специфичные для View / ViewModels представления.
Например,
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
var login = new LoginDialog();
var loginVm = new LoginViewModel();
login.DataContext = loginVm;
login.ShowDialog();
if (!login.DialogResult.GetValueOrDefault())
{
Environment.Exit(0);
}
// Providing we have a successful login, startup application
var app = new ShellView();
var context = new ShellViewModel(loginVm.CurrentUser);
app.DataContext = context;
app.Show();
}