App.Xaml的视图模型



我们是否可以为app. xaml创建一个viewModel,这样我们就可以在startUp上进行一些逻辑推理,并形成一个app的起点…

不,App.xaml不是一个Window类,它是你的Application类。

你仍然可以覆盖它的OnStartup()方法来处理你自己的自定义逻辑,并启动特定的视图/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();
}

不,我们不能在应用程序级别有视图模型。正如@BoltClock所建议的那样,它不是具有数据上下文的东西,我们可以将任何类的实例绑定到它。MVVM不支持App

相关内容

  • 没有找到相关文章

最新更新