C # wpf caliburn.Micro MahApps HamburgerMenu.ContentTemplate Datenbindung funktioniert nicht

8

Ich mache eine Anwendung mit Caliburn.Micro (für einfache Datenbindung und so) und MahApps.Metro (zum Entwerfen).

Ich habe einen View-Namen 'MainView' erstellt, der HamburgerMenu von MahApps hat. Mein Problem ist die Datenbindung funktioniert gut unter HamburgerMenu.ContentTemplate tag

Hier ist mein HamburgerMenu.ContentTemplate xaml.

%Vor%

und der entsprechende Modellcode lautet:

%Vor%

Ich möchte die Ansicht im Rahmen unter HamburgerMenu.ContentTemplate ändern, wenn ich auf den Menüpunkt klicke. Wie die Systemstatusansicht ist SystemStatusView und Inbox-Ansicht ist InboxView.

Mein Code funktioniert einwandfrei (er ändert die Ansicht im Frame und ändert auch die Header-Beschriftung), wenn ich HamburgerMenu.ContentTemplate nicht verwende. Aber ich möchte HamburgerMenu.ContentTemplate verwenden, um mit HamburgerMenu zu arbeiten.

Danke!

    
Saadi 09.09.2017, 18:35
quelle

1 Antwort

2

Wenn es funktioniert gut, wenn Sie nicht verwenden HamburgerMenu.ContentTemplate , aber nicht mehr funktioniert, wenn Sie das tun, ist das Problem wahrscheinlich mit Ihnen die Standardvorlage in einer Art und Weise zu überschreiben, die nicht alle Funktionalitäten eines Steuer unterstützt.

Ich würde vorschlagen, Sie Mischung zu verwenden, um die Standard- HamburgerMenu.ContentTemplate zu bekommen, dann ändern Sie einfach es auf Ihre Bedürfnisse, ohne zu viel zu ändern (beachten Sie, dass Namen von Kontrollen als Vorlage verwendet eine entscheidende Bedeutung haben kann, so sei vorsichtig, was du bearbeitest).

Wenn Sie nicht wissen, wie Mischung zu verwenden, um Ihre Kontrolle der Vorlage zu bekommen, hier ist ein einfaches Tutorial beschrieben in einem Dokumentation von Telerik steuert (keine Sorge, es funktioniert das gleiche für alle Kontrollen). Sie müssen nur Kopie eines HamburgerMenu.ContentTemplate erstellen, fügen Sie sie in Ihre Anwendung und Sie sind gut zu gehen (Bearbeitung).

    
Kacper Stachowski 13.09.2017 08:29
quelle