我已經構建了一個xamarin項目,它在主頁上的listview中填充項目列表。我需要將此頁面上的變量傳遞給ViewModel類。我怎麼做???幫助將不勝感激。如何在我的ViewModel類的主頁中訪問變量?
我的主頁的代碼如下:
私人異步無效LstItems_OnItemTapped(對象o,ItemTappedEventArgs E)
{
var ItemCodeParam = e.Item as Item;
var ItemCode = ItemCodeParam.ItemCode;
await Navigation.PushAsync(new DetailItemPage(ItemCode));
我需要通過ItemCode我ViewModel類。
}
我的視圖模型是如下
命名空間MyFirstDbApp.ViewModels { 公共類ItemDetailsViewModel:INotifyPropertyChanged的 { 私有列表_itemsList;
public List<Item> ItemsList
{
get { return _itemsList; }
set
{
_itemsList = value;
OnPropertyChanged();
}
}
public ItemDetailsViewModel()
{
InitializeDataAsync();
}
private async Task InitializeDataAsync()
{
var result = await ItemServices.GetItemsAsync().ConfigureAwait(false);
ItemsList = result.Where(x => x.ItemCode == "").ToList();
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}
你在哪裏創建VM?只需將值傳遞給它的構造函數,或者設置一個屬性即可。 – Jason
我真的很抱歉問你這個。但是,你可以告訴我如何在編碼?我在問題中包含了我的VM代碼。我需要將我的主頁上的ItemCode傳遞給VM ItemsList = result.Where(x => x.ItemCode ==「」).ToList(); – user1508599