Ich habe ein Xamarin-Projekt erstellt, das eine Liste von Elementen in einer Listenansicht auf der Homepage auffüllt. Ich muss eine Variable auf dieser Seite an die ViewModel-Klasse übergeben. Wie mache ich das??? Hilfe wird geschätzt.Wie kann ich auf eine Variable in meiner Homepage in meiner ViewModel-Klasse zugreifen?
Meine Startseite Code ist wie folgt:
privat async Leere LstItems_OnItemTapped (Objekt o, ItemTappedEventArgs e)
{
var ItemCodeParam = e.Item as Item;
var ItemCode = ItemCodeParam.ItemCode;
await Navigation.PushAsync(new DetailItemPage(ItemCode));
ich die meiner Ansichtsmodell Klasse ItemCode übergeben müssen.
}
Meine Ansicht Modell ist als unten
Namespace MyFirstDbApp.ViewModels { public class ItemDetailsViewModel: INotifyPropertyChanged { private List _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));
}
}
}
Wo legen Sie Ihre VM? Übergeben Sie einfach den Wert in seinen Konstruktor oder legen Sie eine Eigenschaft fest. – Jason
Es tut mir wirklich leid, dich das zu fragen. Aber können Sie mir bitte sagen, wie man es in der Codierung macht ??? Ich habe meinen VM-Code in die Frage aufgenommen. Ich muss den ItemCode von meiner Homepage an die VM übergeben ItemsList = result.Where (x => x.ItemCode == ""). ToList(); – user1508599