gpt4 book ai didi

wpf - 在 MVVM 中创建 ViewModel 的最佳位置

转载 作者:行者123 更新时间:2023-12-04 16:54:16 25 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.

1年前关闭。




Improve this question




我有一个问题:在 MVVM 中创建 ViewModel 的最佳位置在哪里以及如何创建?

1)在 App.xaml.cs 中创建一次作为静态字段,然后通过 App 使用它?

2) 当我导航到这个页面时,总是在 Page.cs 中创建新的 ViewModel?

3) 其他选项

最佳答案

在 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();
}

每隔一段时间我就有一个应用程序会在启动窗口的构造函数中创建 ViewModel,但这并不是真正的首选,因为这意味着如果我有任何启动逻辑,我也必须将它放在 View 的代码隐藏中,而且我不喜欢在我的 View 层中混合应用程序逻辑。
public partial class MainWindow
{
public MainWindow()
{
InitializeComponent();
this.DataContext = new ShellViewModel();
}
}

不管你怎么做,请记住,当使用 MVVM 时,你的 ViewModel 是你的应用程序,而不是你的 View,所以通常你的 ViewModel 以某种方式连接到启动 ViewModel。 View 只是用户与您的应用程序(ViewModel)交互的一种用户友好的方式。

关于wpf - 在 MVVM 中创建 ViewModel 的最佳位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12500930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com