繁体   English   中英

如何在WP8 C#中将数据传递给ViewModel

[英]how to pass data to a ViewModel in WP8 C#

我有一个List,我想传递给ViewModel.Intuitively我认为通过传递它是一个参数到ViewModel的构造函数是直截了当,但在这样做我得到错误,ViewModel的构造函数应该是无参数的...这是这样的:

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中创建另一个接受列表作为参数的方法,但是我怎么能从构造函数中调用它,因为构造函数必须通过它的参数也是如此。

只需将Constructor留空,然后将Collection -Property修改为Property with Backing字段。

在此之后,无论你想要什么,你都可以在你的二传手中做到。

    private ObservableCollection<T> _collection
    public ObservableCollection<T> Collection { 
get{
return this._collection;
} 
set{
this._collection = value; 
// Do what you want here 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM