我们可以为App.Xaml创建一个viewModel,这样我们就可以在startUp上做一些逻辑演绎,并形成app的起点......
答案 0 :(得分:2)
不,App.xaml不是Window类,它是您的Application类。
您仍然可以覆盖它的OnStartup()
方法来处理您自己的自定义逻辑并启动特定的Views / ViewModel。
例如,
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();
}
答案 1 :(得分:0)
不,我们无法在应用级别拥有视图模型。正如@BoltClock所建议的那样,它不具有我们绑定任何类的实例的数据上下文。 MVVM不适用于App
。