none
Navigation zu neuer Page mit variabler Anzeige RRS feed

  • Allgemeine Diskussion

  • Hallo Gemeinde,

    mit meiner Frage werde ich die ‚Lacher‘ gleich mal auf meiner Seite haben, deshalb sage ich es gleich ganz ehrlich am Anfang – ich beschäftige mich seit ca. 2 Wochen mit der Materie und habe an manchen Stellen so meine kleinen Probleme. So, zu meiner Frage:

    Ich habe auf meiner MainPage mehrere Button (A; B; C …). Bei klick soll eine neue Seite (Page2) geöffnet werden, welche als Image die dazugehörige Grafik (Gr_A; Gr_B; Gr_C …) anzeigen soll. Nun möchte ich nicht für jede Grafik eine einzelne Seite erstellen, sondern möchte eine Seite haben in der je nach Auswahl die entsprechende Grafik angezeigt wird.

    Mein Ansatz zur Lösung ist - dass der Button eine Variable mit gibt, welche das Image – Feld von Page 2 auswertet und die entsprechende Grafik lädt.

    Ich bekomme es aber absolut nicht hin. Kann mir bitte jemand einen Lösungsansatz mitteilen?

    Danke.

    • Typ geändert Robert Breitenhofer Dienstag, 14. August 2012 11:07 Keine Rückmeldung des Fragenstellender
    Montag, 30. Juli 2012 09:28

Alle Antworten

  • Hi Wahli,

    Parameter kann man mit folgenden Aufruf an eine Seite übergeben (ungetestet!):

    // Aufruf aus deinem Button-Event Handler
    string name = Button(e.OriginalSource).Name; NavigationService.Navigate(new Uri("/Views/ImagePage.xaml?id=" + name, UriKind.Relative));

    In der ImagePage musst du jetzt OnNavigatedTo überschreiben und z. B. folgendes implementieren:

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);
     
        string buttonName;
        NavigationContext.QueryString.TryGetValue("id", out buttonName);
    
       // Jetzt kannst kannst du anhand des übergebenen Namens deinen String für den Bild-Namen zusammenbauen und dann das Bild dazu laden
       string imageName = string.Format("Gr_{0}", buttonName);
    
       // Jetzt den Bildnamen benutzen um das jeweilige Bild zu laden.
    
    }

    Da ich auf der Arbeit bin und hier kein Visual Studio 2010 habe, habe ich den Code nicht getestet aber Grundlegend müsste es so funktionieren.


    Gruß
    Rudolf

    "Der Nachteil der Intelligenz besteht darin, dass man ununterbrochen gezwungen ist, dazuzulernen." Georg Bernhard Shaw


    Montag, 30. Juli 2012 11:49
  • Entweder die Methode meines Vorredners (die funktionieren sollte), oder du legst in der App Datei eine statische Variable an, die man über App.Variablenname, einfach benutzen können müsste, was, meiner Erfahrung nach, zuverlässiger funktioniert, mit oberer Methode hatte ich schon so meine Probleme.
    Dienstag, 31. Juli 2012 21:55
  • Sorry das ich mich erst jetzt wieder melde - Urlaubszeit :-)

    Danke für die Tipps, werde es diese Woche mal ausprobieren.

    Markus

    Dienstag, 7. August 2012 08:49
  • Sorry das ich mich erst jetzt wieder melde - Urlaubszeit :-)

    Danke für die Tipps, werde es diese Woche mal ausprobieren.

    Markus


    ****************************************************************************************************************
    Dieser Thread wurde mangels weiterer Beteiligung des Fragestellenden ohne bestätigte Lösung abgeschlossen.
    Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
    ****************************************************************************************************************

    Robert Breitenhofer, MICROSOFT  Twitter Facebook
    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Dienstag, 14. August 2012 11:07