public abstract class ViewModelBase : INotifyPropertyChanged{ //属性改变事件 public event PropertyChangedEventHandler PropertyChanged;
//当属性改变的时候,调用该方法来发起一个消息,通知View中绑定了propertyName的元素做出调整 public void RaisePropertyChanged(string propertyName) { PropertyChangedEventHandler handler = PropertyChanged; if (handler != null) { handler(this, new PropertyChangedEventArgs(propertyName)); } } }
2创建一个DelegateCommand
public class DelegateCommand : ICommand{ readonly Action
回答2:
model应该是数据的表示,viewmodel才是业务逻辑一般是在viewmodel层,大多数都使用了实现了此接口的viewmodelbase基类如果你的程序很简单,那通常只需要viewmodel,不需要model层了。如果model不实现(因为有时候model不在你的控制范围之内),只有在ViewModel中封装,而且需要使用哪些属性就要重新让其实现inpc接口,确实比较麻烦。最后,MVVM只是指导原则,不是规定(MVVM is a set of guidelines, not rules.),并没有标准说一定要怎么写的