作爲WPF的新成員,我最近開始了MVVM旅行。我可以理解爲什麼我們需要MVVM的原始內涵,但是一些實現細節仍然讓我困惑不已。對於MVVM,viewmodel導出模型中的屬性以查看最佳做法是什麼?
這裏是我的問題之一:
我應該如何通過ViewModel
在model
出口的財產,以View
我可以告訴我的一些想法在這裏,所以請與我分享你的看法。
這是我實現的一個:
class MyModel : INotifyPropertyChanged
{
private String _name;
public String Name
{
get { return _name; }
set
{
if (_name != value)
{
_name = value;
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("Name"));
}
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
class MyViewModel
{
private MyModel _model;
public MyModel Model
{
get { return _model; }
set { _model = value; }
}
}
我覺得這個問題是我們不分離從模型視圖。視圖需要了解模型實現的每個細節以完成綁定過程。在Model
直接從ViewModel
出口的屬性不能被視爲一個好的設計在我看來。
所以我希望你可以分享你對這個主題的設計經驗。
BTW, 如果我們出口很多對象,比如,一個List
MyModel
對象從視圖模型來查看的,我怎麼能實現這個解耦模型的觀點?
視圖不需要知道模型實現的每個細節,視圖只需要知道要綁定的屬性的名稱。在你的情況下,這將是Name屬性。如果你有一些方法來格式化這個名字,那麼從數據庫中檢索這個名字等。這將在你的Model/ViewModel類中,並且視圖根本不需要知道任何一個=>解耦。 – failedprogramming 2013-04-04 03:25:14