Ser*_*lyi 5 wpf virtual-machine mvvm viewmodel
我有一个问题:在MVVM中创建ViewModel的最佳位置在哪里?
1)在App.xaml.cs中创建一次作为静态字段,然后通过App使用它?
2)当我导航到这个页面时,总是在Page.cs中创建新的ViewModel?
3)其他选择
Rac*_*hel 10
在MVVM中,ViewModel 是应用程序.这意味着我通常只有一个启动ViewModel,它是我的应用程序的入口点,我通常在App.xaml.cs OnStartup代码中创建一个这样的实例
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
var app = new ShellView();
var context = new ShellViewModel();
app.DataContext = context;
app.Show();
}
Run Code Online (Sandbox Code Playgroud)
每隔一段时间我就有一个应用程序将在启动窗口的构造函数中创建ViewModel,但这并不是首选,因为这意味着如果我有任何启动逻辑,我必须将它放在View后面的代码中,我不喜欢在我的View层中混合应用程序逻辑.
public partial class MainWindow
{
public MainWindow()
{
InitializeComponent();
this.DataContext = new ShellViewModel();
}
}
Run Code Online (Sandbox Code Playgroud)
无论您如何操作,请记住,在使用MVVM时,ViewModel是您的应用程序,而不是您的视图,因此通常您的ViewModel以某种方式连接到启动ViewModel.视图只是用户友好的方式,用户可以与您的应用程序(ViewModels)进行交互.
| 归档时间: |
|
| 查看次数: |
6183 次 |
| 最近记录: |