我们能不能有一个 App.Xaml 的 viewModel,这样我们就可以在 startUp 上做一些逻辑推导,也可以形成一个应用程序的起点......
问问题
1321 次
2 回答
2
不,App.xaml 不是 Window 类,它是您的 Application 类。
您仍然可以覆盖OnStartup()
它的方法来处理您自己的自定义逻辑并启动特定的 Views/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();
}
于 2011-10-04T14:24:36.070 回答
0
不,我们不能在应用级别拥有视图模型。正如@BoltClock 所建议的那样,它不是具有我们将任何类的实例绑定到的数据上下文的东西。MVVM 不适用于App
.
于 2011-10-04T13:11:36.587 回答