2012-04-05 3 views
0

Von meiner App MainPage gehe ich auf eine Website (alternativ: Ich gehe zur Aufgabe: E-Mail senden). Beim Drücken der "Zurück-Taste" wird anstelle von MainPage ein schwarzer Bildschirm angezeigt. Ich habe versucht, eine Lösung zu finden, habe sie aber noch nicht gefunden. Kann jemand helfen?WP7: Schwarzer Bildschirm beim Drücken der Zurück-Taste, wenn im Browser

+0

Haben Sie die Zurück-Taste überschrieben? –

+0

Ich habe es in der MainPage.xaml.cs überschrieben, um zu sehen, dass es die App beendet, wenn ich von dort zurück drücke, aber der leere Bildschirm erscheint, wenn ich von der Website, auf die ich gegangen bin, zurück drücke. Ich glaube nicht, dass diese Überschreibung das Problem beeinflusst? – Hank

+0

Passiert es jedes Mal, wenn Sie zurückgehen? Oder passiert es selten? Ich habe das gleiche Problem (manchmal leere Seite) sehr selten passiert. –

Antwort

0

Ich habe herausgefunden, wie das Problem zu lösen (was ich aber sonst niemand hatte, vielleicht!). Wenn Sie einen externen Link erstellen müssen, tun Sie dies nicht direkt von Ihrer Hauptseite aus. Erstellen Sie stattdessen eine Zwischenseite, von der Sie extern verlinken (z. B. zu einer Website oder der E-Mail-Anwendung). Dann kommst du mit dem Zurück-Pfeil auf diese Seite zurück und benutzt eine logische Zeichenkette, war hier ... war noch nicht hier, du kannst zurück zur Hauptseite gehen. Siehe unten:

private void Button1_Click(object sender, RoutedEventArgs e) 
    { 
     /* instead of putting the code here, you go to another page 
     EmailComposeTask emailcomposer = new EmailComposeTask(); 
     emailcomposer.To = "Ä; 
     emailcomposer.Subject = "Customer request"; 
     emailcomposer.Body = "Text:"; 
     emailcomposer.Show(); 
     */ 

     var b = App.Current as App; 
     b.Emailat = "email"; 

     NavigationService.Navigate(new Uri("/Page2.xaml",UriKind.Relative)); 
    } 

Und auf dieser anderen Seite:

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
    { 
     var c = App.Current as App; 
     string Howisit = c.Emailat; 

     if (Howisit == "email") 
     { 
      EmailComposeTask emailcomposer = new EmailComposeTask(); 
      emailcomposer.To = ""; 
      emailcomposer.Subject = "Customer request"; 
      emailcomposer.Body = "Text:"; 
      emailcomposer.Show(); 

      var b = App.Current as App; 
      b.Emailat = "stop"; 
     } 

     if (Howisit == "stop") 
     { 
      NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative)); 
     } 


    } 

Das ist es!

Verwandte Themen