Tut Caliburn.Mikro-schön spielen mit user-controls?
Ich bin ein Neuling, WPF Programmierer. Ich bin versuchen, um eine gewisse Struktur zu meinem code: die beiden User Controls und MVVM.
Hier recherche habe ich herausgefunden, dass Menschen empfehlen Caliburn.Micro. Auf der anderen Seite, ich habe festgestellt, dass einige Beschwerden hier und anderswo über Caliburn.Micro nicht, spielt schön mit Benutzersteuerelemente.
Also meine Frage ist: Hat Caliburn.Mikro-schön spielen mit User-Controls?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja,
Caliburn.Micro
spielt schön mit dem Benutzer steuert. Es ist ein eigenwilliger Rahmen, aber nicht zu dem Punkt, der Sie dazu zwingt auf einen bestimmten Entwicklungspfad. Wie die Antworten auf die verlinkten Fragen vorschlagen, können Sie immer dann verwenden plain old WPF verbindlich, wenn Sie noch keine besonderen Probleme.In der Tat, ich würde nicht lassen Sie diese beiden links davon abhalten, an alle, die erste beschreibt eine verbindliche separate Eigenschaften für einen einzelnen Benutzer Steuern, und die Lösung gültig ist. Eine bessere Lösung wäre wahrscheinlich die Verwendung einer
ItemsControl
mit einem benutzerdefiniertenDataTemplate
, und erstellen Sie anschließend eine Sammlung von DTOs auf seiner Ansicht nach Modell enthalten die Eigenschaftsnamen und-Werte.Der zweite link ist die Angabe, wie wenn Sie eine Ansicht erstellen (
UserControl
) und erstellen Sie eine Instanz der Ansicht, die in XAML, und Sie möchten, binden Sie es an einen view-Modell, dann ist das genannte Ansicht zuerst, und Sie haben zu sagen, Caliburn.Mikro, wo das view model zu binden, um:So, in diesem begrifflich gedacht werden kann, wie ein viewmodel/Ansicht, sondern ein UserControl mit dependency Eigenschaften etc.
In der Tat, die Sie finden, wenn Sie verwenden, Caliburn.Micro, Sie werden wahrscheinlich weniger und weniger
UserControl
s durchführen Aussicht Zusammensetzung. Dies ist, weil es sehr einfach wiederverwendbare UI-view Modelle, sichten und das view-model-first-Ansatz.Wenn Sie eine
ContentControl
in eine view mit dem gleichen Namen wie ein view-model-Eigenschaft auf Ihre Eltern view-Modell, dann Caliburn.Micro suchen Sie die Ansicht der entsprechenden view-Modell, injizieren es in dieContentControl
, und binden die Ansicht/View Modell.Beispiel:
MenuViewModel
als ctor arg inParentViewModel
automatisch wire Sie bis.