Ich habe eine Frage in Bezug auf WPF Bindung und Konvertierung der Datentypen von den UI-Objekten in XAML gesehen.WPF-Datenbindung und Typkonvertierung
Ich habe eine Benutzerkontrolle, die ich in verschiedenen Anwendungen wiederverwenden möchte. Das Benutzersteuerelement zeigt ein Miniaturbild und mehrere TextBlocks an, um demografische Informationen wie Name und Adresse anzuzeigen. Das Benutzersteuerelement wird in einem MVVM-Design verwendet, daher ist es an ein ViewModel gebunden, das für das Benutzersteuerelement spezifisch ist.
Gemäß den typischen MVVM-Entwurfsprinzipien ist das ViewModel für das Benutzersteuerelement häufig in andere ViewModels eingebettet, um eine größere Benutzeroberfläche zu erstellen.
Das Benutzersteuerungsansichtsmodell erwartet einen bestimmten Typ (Klasse) als sein Bindungsobjekt. Die ViewModels, in denen die eingebettete UC-VM jedoch über völlig unterschiedliche Objektmodelle verfügt, können ihre Daten nicht einfach an die UC-VM übergeben. Es muss eine Konvertierung des Datenmodells der übergeordneten VM in das Datenmodell der UC VM erfolgen.
Meine Frage ist dies: Gibt es eine sanktionierte Möglichkeit, diese Konvertierung durchzuführen?
Ich schaute auf IValueConverter und IMultiValueConverter und diese sehen nicht wie der Weg zu gehen.
Ich denke, was ich brauche, ist eine Art Shim zwischen der übergeordneten VM und der eingebetteten UC VM, wo die Daten der übergeordneten VM in das von der UC VM benötigte Format konvertiert werden.
Oder kommt es im Grunde darauf an, dass ich eine benutzerdefinierte UC VM schreiben muss, um mit den von der übergeordneten VM bereitgestellten Typen umgehen zu können?
Was meinen Sie, wenn Sie den Begriff Benutzersteuerungsansichtsmodell verwenden? Das Ansichtsmodell, das vom betreffenden Benutzersteuerelement verwendet wird? –