Caliburn Micro et ModernUI Exemples/Tutoriels
quelqu'un aurait-il un exemple ou un tutoriel sur la façon d'utiliser Caliburn Micro avec ModernUi (https://mui.codeplex.com)?
J'imagine que depuis ModernUI ressemble à une collection de contrôles que vous n'avez qu'à ajouter les conventions pour chaque contrôle dans la boîte à outils. La seule différence serait que CM utilise ChildWindow pour la plupart de la fenêtre de gestion, et vous auriez probablement souhaitez la remplacer avec ModernWindow dans votre mise en œuvre. Je pense que vous auriez probablement seulement besoin de fournir votre propre mise en œuvre pour WindowManager (et en particulier la
Bien, après avoir un coup d'oeil, il semble être plus complexe que cela. Je pense que le fait de fournir votre propre WindowManager mise en œuvre peut ne pas être la meilleure idée depuis tous les popups permettrait également de mettre en œuvre les
EnsureWindow
méthode) caliburnmicro.codeplex.com/SourceControl/changeset/view/...Bien, après avoir un coup d'oeil, il semble être plus complexe que cela. Je pense que le fait de fournir votre propre WindowManager mise en œuvre peut ne pas être la meilleure idée depuis tous les popups permettrait également de mettre en œuvre les
ModernWindow
classe. Aussi, on dirait qu'il charge le contenu de façon dynamique en fonction des ressources des Url et donc un viewmodel-première approche serait probablement pas de travail.OriginalL'auteur Matthias | 2013-05-07
Vous devez vous connecter pour publier un commentaire.
Ok, donc j'ai eu un coup déconner avec elle et d'un coup d'oeil sur l'interface de forums et de ce qui semble être la meilleure approche:
Depuis la fenêtre de la charge du contenu à partir d'Url vous avez besoin de prendre une vue à la première approche, puis recherchez la VM et de lier les deux.
La meilleure façon de le faire semble être via le
ContentLoader
classe qui est utilisée pour charger le contenu dans leModernWindow
lorsqu'il est demandé. Vous pouvez simplement sous-classeDefaultContentLoader
et les CM de la magie pour guérir chargé éléments:Votre CM de programme d'amorçage doivent simplement démarrer une
ModernWindow
viewmodel qui est soutenu par uneModernWindow
vue (CM essaie d'utiliserEnsureWindow
qui crée une nouvelle base de WPF classe de Fenêtre, à moins bien sûr de votre contrôle déjà hérite deWindow
quiModernWindow
. Si vous avez besoin de toutes les boîtes de dialogue et fenêtres pop-up pour être MULTILINGUE, vous pouvez avoir besoin de ré-écrireWindowManager
):Qui peut être un chef d'orchestre (OneActive) et ressemble à ceci:
Et XAML pour la vue
ModernWindowView.xaml
Évidemment, vous devez faire le chargeur est une ressource trop:
Voici la
ChildViewModel
je suis à l'aide d'un test:Et le code XAML pour que (juste un bouton)
Et de la preuve de concept:
Hey Charleh, merci encore pour votre réponse. Il y a un problème à gauche: Dans le ContentLoader, lorsque le ViewLocator regarde pour la mise en correspondance viewmodel, il renvoie toujours null et pas de Liaison ist fait. Une Idée?
Charleh, pourriez-vous vous charger de votre travail de l'échantillon source quelque part?
Essayer de nouveau, je viens de reuploaded au même endroit
grande instruction, merci! Mais je ne peux pas comprendre comment l'ouvrir de nouvelles fenêtres popup à l'aide de cette combinaison. J'ai essayé de modifier WindowManager comme indiqué ici mais sans succès. Pouvez-vous aider peut-être?
OriginalL'auteur Charleh
- Je créer un très, très simple échantillon de l'application de chat à l'aide de INTERFACE utilisateur Moderne pour WPF, Caliburn Micro et MEF.
https://github.com/gblmarquez/mui-sample-chat
J'espère que cela aide
OriginalL'auteur gblmarquez