簡體   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