Übergeben einer Zeichenfolge zwischen Seiten in Windows Phone 8

8

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%     
Erik 26.11.2013, 17:26
quelle

5 Antworten

19

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 :

%Vor%

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%     
McGarnagle 26.11.2013, 17:33
quelle
5

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>

ist %Vor%

Dann auf Seite zwei machen Sie das

%Vor%

MSDN Dokumentation

    
Anthony Russell 26.11.2013 18:37
quelle
2

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.

    
Ramesh 28.11.2013 10:42
quelle
2

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.

    
Carmelo La Monica 28.11.2013 21:27
quelle
0

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%

Ссылка

    
Espen Medbø 26.11.2013 19:02
quelle