Meine App verwendet eine verschachtelte ViewModel-Struktur. Ich habe ein Eltern-View-Modell, das eine Liste von Child-View-Modellen enthält. Die Bindung funktioniert einwandfrei und ich kann einen Relay-Befehl von einem Button aus ausführen.Verschachtelte MVVM und RelayCommand
Während dies funktioniert, kann ich nur auf die Daten innerhalb des untergeordneten Ansichtsmodells, nicht von der übergeordneten zugreifen. Wie kann ich auf Daten vom übergeordneten Ansichtsmodell zugreifen oder eine Funktion für das übergeordnete Ansichtsmodell ausführen und die erforderlichen Daten vom untergeordneten an das übergeordnete Modell übergeben?
Edit: Das ist es, was meine Ansicht Modelle wie folgt aussehen:
Parent:
public string Name { get; set; }
public List<ChildViewModel> Children { get; set; }
private RelayCommand _parentCommand;
public RelayCommand ParentCommand
{
get
{
if (_parentCommand== null)
{
_parentCommand= new RelayCommand(() =>
{
//some code
},
() => true);
}
return _parentCommand;
}
}
Kind:
public string Name_Child { get; set; }
private RelayCommand _childCommand;
public RelayCommand ChildCommand
{
get
{
if (_childCommand== null)
{
_childCommand= new RelayCommand(() =>
{
//some code
},
() => true);
}
return _childCommand;
}
}
Mein Problem ist, dass ich sowohl Name_Child und Namen verwenden müssen aus das übergeordnete Viewmodel und ich kann nur auf eines von ihnen in den RelayCommands zugreifen.
Können Sie uns bitte zeigen, wie Sie die Ansicht strukturieren Sie Modelle? zumindest kurz .. –
Ich habe meinen ursprünglichen Beitrag mit den Viewmodels aktualisiert, ich hoffe das hilft. – slimshady
Haben Sie meine Antwort überprüft? Ist es die akzeptierte Antwort für Ihre Frage? :) –