2016-04-25 6 views
0

In meinem UWP versuche ich den Inhalt von Frame mit einem anderen Frame Inhalt zu setzen, aber keine meiner Lösungen funktioniert, was ich eigentlich mache ist von einer Seite Ich übergebe Rahmen als Navigationsparameter und auf der zweiten Seite habe ich einen anderen Rahmen, dessen Inhalt ich mit dem Rahmen im Navigationsparameter einstellen muss.Wie man den Inhalt eines Frames in einen anderen Frame lädt, ohne den aktuellen Frame Inhalt neu zu initialisieren

Hier sind die Lösungen, die ich versucht:

Ansatz 1:

  var frame = e.Parameter as Frame; 
      if (frame != null) 
      { 
       var contentPage = frame.SourcePageType; 
       if (contentPage != null) 
        ContentFrame.Content = contentPage; 
      } 

Ansatz 2:

  var frame = e.Parameter as Frame; 
      if (frame != null) 
      { 
       var contentPage = frame.SourcePageType; 
       if (contentPage != null) 
        ContentFrame.Navigate(contentPage); 
      } 

Ansatz 1 überhaupt nicht arbeiten, während Ansatz 2 reintiating Rahmen Inhalt, den ich nicht möchte.

Gibt es eine andere Möglichkeit, kann ich den Inhalt von 1 Frame auf einen anderen setzen.

Antwort

0

Es fehlen zu viele Details in Ihrer Frage, aber es sieht so aus, als hätten Sie keine klare Trennung von Ansicht, Daten und Logik. Haben Sie jemals MVVM (see this article) angeschaut. Durch die Verwendung von Konstrukten wie dieser ist es nicht schlecht, die Benutzeroberfläche erneut zu erstellen, da sich die Daten immer noch an einem einzigen Ort befinden.


Wenn dies eine Antwort auf Ihre Frage ist, markieren Sie diese bitte als Antwort.

+0

Grundsätzlich möchte ich nur Inhalt eines Rahmens mit Inhalt eines anderen setzen, Sie haben Recht, dass Wiederaufbau UI haben nicht viel Einfluss, aber wollen wissen, ob wir irgendwie direkt einen anderen Rahmen Inhalt ohne Neuzeichnen setzen können. –

+0

Warum Frame1.Content = Frame2.Content setzt den Inhalt von frame2 nicht auf frame1? –

Verwandte Themen