Ich muss eine einfache Zeichenfolge zwischen zwei Seiten in Windows Phone 8 übergeben. Ich habe gesucht und versucht, den besten Weg zu finden - aber die, die ich ausprobiert habe, haben nicht so funktioniert, wie sie sollten - also Ich frage Sie: Was ist der beste Weg, um eine einfache Zeichenfolge zwischen zwei Seiten in Windows Phone 8 übergeben. Dies ist die Methode, die ich verwende, um auf die andere Seite zu navigieren:
%Vor%Für eine String-Variable ist es am einfachsten, einen Query-String-Parameter zu verwenden:
%Vor% Wählen Sie es auf der Zielseite mit NavigationContext.QueryString
:
Hinweis: Wenn Ihre Zeichenfolge nur alphanumerische Zeichen enthält, funktioniert das obige ohne Änderung. Wenn Ihre Zeichenfolge jedoch URL-reservierte Zeichen enthält (z. B. &
, ?
), müssen Sie sie URL-kodieren. Verwenden Sie die Hilfsmethoden Uri.EscapeDataString
und Uri.UnescapeDataString
dafür.
Um zu entkommen:
%Vor%Zu unescape:
%Vor%Ich muss sagen, dass für einfache Daten @ McGarnagle wahrscheinlich eine bessere Lösung ist.
Das heißt, das ist auch eine extrem schnelle und schmutzige Art, dies zu tun. Diese Methode kann auch komplexe Objekte aufnehmen.
Ich benutze gerne PhoneApplicationService.State
was ein Dictionary<String,Object>
Dann auf Seite zwei machen Sie das
%Vor%Wenn Sie die MVVM-Architektur verwenden, können Sie die Zeichenfolge nach der Registrierung mit Messenger übergeben. Erstellen Sie eine Modellklasse (z. B. PageMessage) mit einer Zeichenfolge (z. B. Nachricht) Variable. Sie möchten die Zeichenfolge von homepage.xaml an newpage.xaml übergeben und dann in homepage.xaml einfach die Nachricht wie folgt senden
%Vor%In der newpage.xaml sollten Sie den Messenger wie folgt registrieren,
%Vor%So können Sie sogar die Navigation in der MVVM-Architektur weitergeben.
Hy,
eine andere Lösung und eine statische Klasse mit einer oder mehreren Eigenschaften des Typs string je nachdem, was Sie benötigen, zu erstellen, verbessert es die Art, wie es verfügbar ist, wo Sie brauchen.
Werfen Sie einen Blick auf Caliburn.micro. Es ist sehr einfach einzurichten und lässt Sie Parameter über Ansichten in einer stark typisierten Weise übergeben, wie folgt:
%Vor%Tags und Links c# windows-phone-8 parameter-passing windows-phone