我有一个接口,我的模型和视图模型可以实现。我在接口中有一个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
}
答案 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将知道我们的秘密并采取相应行动。