我正在构建一个基于 WPF 的销售点系统来练习使用 MVVM。我没有使用任何 MVVM 框架,而是使用了RelayCommandJosh Smith
http://msdn.microsoft.com/en-us/magazine/dd419663.aspx#id0090030文章中的类
我以前写过一个,没有应用 MVVM 模式(仍然使用 WPF)。
对于数据库访问,我使用了实体框架。它看起来像这样:

我的问题是,如何使用 MVVM 实现这一点?Login首先,我已经使用 MVVM编写了窗口,我的直接问题是,
- 如何关闭
Login窗口(处理它)并打开MainWindow? - 在非 MVVM 版本中,
MainWindow仅包含屏幕截图的顶部,即按钮行。 - 我是否应该将“按钮栏”进一步拆分为它自己的
ViewandViewModel,使用MainWindowonly 作为将所有内容放在一起的地方? 如果是这样,当单击按钮时,我如何编写代码,“按钮栏”
ViewModel会告诉MainWindow'sViewModel将相应View的 s(我System.Windows.Controls.Page在非 MVVM 版本中使用)加载到Frame?在非 MVVM 版本中,我使用的代码相当简单:private void btnCheckout_Click(object sender, RoutedEventArgs e) { mainFrame.Navigated += frame_Navigated; var pgCheckout = new pgCheckout(); mainFrame.Navigate(pgCheckout); //The frame }如果没有,我如何将另一个加载
Page到Frame?