So laden Sie Inhalte in einem ModernWindow mit mvvm richtig

8

In unserem Unternehmen sind wir gewohnt, unsere Anwendungen mit WinForms zu entwickeln, Jetzt haben wir uns entschieden, mit Caliburn.Micro und Modern UI zu WPF-MVVM zu wechseln. Die Sache, die wir erreichen wollen, ist eine kleine Anwendung mit: - 1 modernes Fenster - 2 Seiten in diesem modernen Fenster Das Ziel ist, eine Schaltfläche innerhalb dieser Seite zu haben, die das moderne Fenster auf die zweite Seite mit Parametern navigiert.

Ich habe versucht zu verstehen, wie ich das durcharbeiten kann, ich bin mit dem Window (ohne MUI) erfolgreich, aber wenn es um MUI geht, gibt es mir nicht wirklich das Ergebnis, das wir wollen.

Bisher ist alles, was ich getan habe,

  1. Erstellen Sie ein neues MUI-Projekt
  2. Fügen Sie Caliburn.Micro dem Projekt hinzu
  3. Ändern Sie die App.xaml in

    %Vor%

  4. Erstellen Sie die Bootstrapper-Klasse

    %Vor%
  5. Erstellen Sie die ModernContentLoader-Klasse

    %Vor%
  6. ModernWindowView.xaml & amp; ModernWindowViewModel.cs

    %Vor%

    %pr_e%

  7. Und schließlich die Child1View.xaml

    %Vor%

    und Child1ViewModel.cs

    %Vor%

Meine Frage ist, Schritt 6, warum macht die Funktion nichts? Und wenn mein Weg falsch ist, kann mich irgendjemand zu einem besseren Weg führen?

Und wenn es der beste Ansatz ist, wie kann ich von der Funktion ClickMe zu einer anderen Ansicht navigieren.

    
Ahmad Hammoud 04.04.2016, 21:25
quelle

1 Antwort

5

Was Ihre erste Frage betrifft, warum die Funktion nichts tut, denke ich, dass es mit der Hierarchie Ihres Projekts zu tun haben könnte. Mit MUI ist dies das Haupt- (und einzige) Fenster für eine meiner Anwendungen

%Vor%

In meiner Projekthierarchie habe ich mein Projekt root (CSPROJ-Datei), MainWindow.xaml dann einen Pages-Ordner. In meinem Seitenordner habe ich meine SettingsPage.xaml. Das Quellattribut in meinem mui: Link-Tag verweist auf den reellen Pfad meines Hauptfensters zu meiner settingsPage.xaml-Datei. MUI lädt dann diesen Pfad in dem Inhaltsanbieter, der in Ihrem Hauptfenster für Sie von der MUI ModernWindow-Klassenstandardvorlage platziert wird, und zeigt diesen Pfad an. Zum Navigieren ist kein zusätzlicher Code erforderlich (bis Sie eine komplexe Navigation in der Unteransicht wünschen).

Meine settingsPage.xaml-Datei ist ein normales Benutzersteuerelement, bei dem dem statischen ContentRoot-Ressourcenstil ein Stil zugewiesen ist, da dieser auch zusätzliche Ansichten / Seiten enthält.

Mui-Quellen finden Sie auf GitHub unter Mui GithubLink . Hier können Sie das Beispielprogramm herunterladen, dessen Code sich im selben Repository unter der App Link hier für Covience .

Ich bin nicht vertraut mit Caliburn.Micro, also bin ich mir nicht sicher, wie die beiden zusammen integrieren, wie die Anforderungen von Caliburn.Micro funktionieren. Ich weiß, wie sich MUI in MVVM light integriert und es gibt viele Beispiele dafür, die ich im Internet in meinen Recherchen gefunden habe.

    
xtreampb 08.04.2016 18:41
quelle