【发布时间】:2013-12-20 05:29:46
【问题描述】:
我的代码如下...
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new MainWindowViewModel();
}
}
我的 ViewModel 看起来像这样...
class MainWindowViewModel : INotifyPropertyChanged
{
public MainWindowViewModel()
{
bool flag = Application.Current.MainWindow.IsInitialized;
if (flag)
{
// Do something...
}
}
我想我的问题是....这符合 MVVM 设计模式吗?唯一的其他方法是How to fire a Command when a window is loaded in wpf
我不知道为什么,但我不想使用 mvvm-light 或任何其他样板代码..
【问题讨论】:
-
一切都好。别担心:)
-
您发布的链接不使用 MVVM Light - 使用 System.Windows.Interactivity 是您在使用 MVVM 时最终需要的东西 - 它解决了许多这些问题。
-
如果你打算使用 Blend,那么 @ReedCopsey 给出了很好的建议。还要查看 Prism/MEF 中的
CompositePresentationEvent类或代理应用级消息的类似事物。您无需借助完整的 Prism 范例即可使用它们。 -
@RobPerkins 我推荐使用
System.Windows.Interactivity.dll,即使你没有使用 Blend :) 它有很多有用的 MVVM 工具(行为等)