目前我总是在我的ViewModel中复制我的模型中创建的内容,然后由视图访问。
mvvm中是否有可能跳过viewmodel部分,当我知道不需要对模型的内容进行任何操作时,因为现在看来很多无用的代码只是为了从模型传递到viewmodel来查看。该模型包含INotifyPropertyChanged(实际上是MVVM light版本),是否可以直接从构成视图的xaml访问模型?
编辑:我不想完全跳过视图模型,仅适用于模型的某些部分。
编辑2:避免这样的事情:
_GS.PropertyChanged += _GS_PropertyChanged; // hooking my vm up to my model
然后我只是在事件处理程序为VM中的那个触发时引发另一个propertychange。这对我来说似乎是双重代码
if (e.PropertyName == "MoneyTypes")
{
RaisePropertyChanged("MoneyTypes");
}
其中MoneyTypes只是VM中的以下内容
classtype MoneyTypes
{
get { return model.MoneyTypes; }
}
答案 0 :(得分:2)
MVVM的目标是将UI / View从逻辑中抽象出来 - 这不会被采用这种形式的绑定所打破:
{Binding ViewModel.Model.Property}
这样做也意味着您不会始终将属性从Model复制到ViewModel。