Ne Caliburn.Micro jouent bien avec les contrôles de l'utilisateur?
Je suis un novice WPF programmeur. Je vais essayer d'ajouter un peu de structure de mon code: à la fois les Contrôles de l'Utilisateur et MVVM.
Recherche ici, j'ai trouvé que les gens vous recommandons de Caliburn.Micro. D'autre part, j'ai trouvé des plaintes ici et d'ailleurs sur Caliburn.Micro pas jouer gentiment avec UserControls.
Donc ma question est: Ne Caliburn.Micro jouent bien avec les Contrôles Utilisateur?
Vous devez vous connecter pour publier un commentaire.
Oui,
Caliburn.Micro
joue bien avec les commandes de l'utilisateur. C'est un opiniâtre cadre, mais pas au point de vous forcer à une trajectoire de développement. Comme les réponses à ces questions suggèrent, vous pouvez toujours utiliser le bon vieux WPF liaison si vous avez des questions particulières.En fait, je ne la laisserais pas ces deux liens vous empêcher de vous, à tous, la première est la description d'un mode de liaison des propriétés distinctes d'un seul contrôle de l'utilisateur, et la solution est valide. Une meilleure solution serait probablement d'utiliser un
ItemsControl
avec une coutumeDataTemplate
, puis de créer une collection de Otd sur son modèle de vue qui contiennent les noms et valeurs de propriété.Le second lien est en indiquant si vous créez une vue (
UserControl
) et de créer une instance de la vue dans le code XAML, et que vous souhaitez lier à une vue du modèle, qui est appelé en premier, et que vous avez à dire Caliburn.Micro où le modèle de vue est à lier à:Donc, ce conceptuellement peut être considéré comme un viewmodel/vue plutôt qu'un UserControl avec les propriétés de dépendance etc.
En fait, vous trouverez lorsque vous utilisez Caliburn.Micro, vous aurez probablement utiliser de moins en moins
UserControl
s pour effectuer la vue de la composition. C'est parce qu'il est très facile de créer des pièces réutilisables de l'INTERFACE utilisateur à l'aide des modèles de vue, points de vue, et le modèle de vue à la première approche.Lorsque vous avez un
ContentControl
dans une vue avec le même nom qu'un modèle de vue de la propriété sur à votre parent de la vue du modèle, puis Caliburn.Micro localiser le point de vue de la vue correspondante modèle, et l'injecter dans leContentControl
, et de lier la vue modèle.Par exemple:
MenuViewModel
comme un ctor arg dansParentViewModel
automatiquement les câbler.