Ich versuche, einen Wert an ein Ansichtsmodell aus einem anderen Ansichtsmodell zu übergeben, bevor ich zu der Seite navigiere, die diesem Ansichtsmodell angefügt ist. Ich habe es zuvor an die Ansicht übergeben und dann an das Ansichtsmodell übergeben. Dies scheint eine ungeschickte Art, Dinge zu tun. Ich benutze keine Art von Framework, so dass dies keine Option ist. Im Moment ist die Eigenschaft als statisch eingestellt und das funktioniert, aber ich bin mir nicht sicher, ob dies eine gute Praxis ist. Der Code:Festlegen einer Eigenschaft in einem ViewModel von einem anderen ViewModel
Ansicht Modell 1:
Dieser Befehl öffnet die neue Seite:
public void OpenRouteDetails()
{
RouteStopPopOverViewModel.RouteName = "TestRoute";
App.Page.Navigation.PushAsync(new RouteStopPopOverView());
}
Ansicht Modell 2: (RouteStopPopOverViewModel)
public static string RouteName { get; set; }
Dies funktioniert, aber ich würde bevorzugen Sie nicht, statische zu verwenden, um dies zu erreichen. Gibt es eine Möglichkeit, die RouteName-Eigenschaft festzulegen, ohne statisch zu verwenden oder sie durch Ansichts-> Ansichtsmodell zu übergeben. Ich habe einige Antworten dazu gesehen, aber sie scheinen die Frage nicht klar zu beantworten.
Ich wollte Parameter nicht über die Ansicht dann an das Ansichtsmodell übergeben. Das ist meistens nicht meine Entscheidung, also sind meine Hände gebunden. Dies scheint auch eine ungeschickte Möglichkeit, dies zu tun. – user3355961
Gibt es einen anderen Weg, den du kennst? – user3355961
darüber nachdenken, wie Sie Daten zwischen 2 Klassen übertragen und es hier anwenden –