我有一个List,我想传递给ViewModel.Intuitively我认为通过传递它是一个参数到ViewModel的构造函数是直截了当的,但在这样做我得到一个ViewModel&#的错误39; s构造函数应该是无参数的...就是这样:
public SomeMethod(){
List<T> list = new List<T>();
ViewModel vm = new ViewModel(list);
}
viewmodel:
public class ViewModel
{
public ObservableCollection<T> Collection { get; set; }
public ViewModel(List<T> t)
{
Collection = new ObservableCollection<T>();
foreach (T item in t)
{
this.Collection.Add(new T (item.value));
}
}
我可以通过其他方式将列表传递给ViewModel ..我想在ViewModel中创建另一个接受列表作为参数的方法,但是我怎样才能从构造函数中调用它,因为构造函数必须将参数传递给它。
答案 0 :(得分:0)
只需将构造函数保留为空,然后将Collection
- 属性修改为具有备用字段的属性。
在此之后,无论你想要什么,你都可以在你的二传手中完成。
private ObservableCollection<T> _collection
public ObservableCollection<T> Collection {
get{
return this._collection;
}
set{
this._collection = value;
// Do what you want here
}