如何避免视图模型的冗余属性

时间:2015-04-20 13:51:10

标签: c# .net wpf mvvm

我有一个接口,我的模型和视图模型可以实现。我在接口中有一个list属性,模型实现为list但由于某些原因我需要在视图模型中使用observable collection。如何使用可观察的集合。这是我的示例代码,

public  class MyObject
{
    public string Property1 { get; set; }
     public string Property1 { get; set; }
}

public interface IFoo
{
    List<MyObject> MyList { get; set; }
}


public class Model : IFoo
{
    private List<MyObject> mMyList;

    public List<MyObject> MyList
    {
        get { return mMyList; }
        set { mMyList = value; }
    }
}

public class ViewModel : IFoo
{

    // I want 
    //ObservableCollection<string> Mylist 
    //for view purpose,How can I use the same property from interface 


}

1 个答案:

答案 0 :(得分:1)

不要这么苛刻。在你的界面中,我的意思是。

public interface IFoo
{
    IList<MyObject> MyList { get; set; }
}

在幕后使用OC

ObservableCollection实现了IList,因此您可以轻松地

public class Bar : IFoo
{
    public IList<MyObject> MyList {get; private set;}
    public Bar()
    {
        MyList = new ObservableCollection<MyObject>();   
    //snip

Binding将知道我们的秘密并采取相应行动。