Question

J'ai cet exemple de projet Caliburn.Micro Je prépare et j'avoir des problèmes avec les liaisons de type conventionnel avec vues imbriquées / viewmodels.

À titre d'exemple, disons que j'ai vue shell, ShellView, soutenu par ShellViewModel qui est un conducteur d'écran.

J'ai un contrôle de contenu dans le ShellView lié à activeItem (en utilisant x: convention de nom), et le activeItem est de type EmployeeListViewModel, la vue qui en résulte est EmployeeListView. Emboîtée dans cette vue est un EmployeeDetailsView soutenu par un EmployeesDetailsViewModel qui est lié à l'élément sélectionné dans EmployeeListViewModel.

Cela fonctionne bien, sauf que dans EmployeeDetailsView je ne peux pas lier des choses comme des zones de texte et des boutons en utilisant les conventions Caliburn. Cela fonctionne très bien:

<TextBox Text="{Binding EmployeeID}" />

mais aucune de ces lignes fonctionnent:

<TextBox x:Name="EmployeeID" />
<Button x:Name="ClickMethod" />

Le texte de zone de texte obligatoire n'est pas une grosse affaire, mais la méthode de bouton automatique hookup est l'une des choses les plus cool sur Caliburn.Micro, mais il ne semble pas fonctionner dans les vues imbriquées.

Toutes les idées?

Était-ce utile?

La solution

J'ai le sentiment que vous lorsque vous liez le EmployeesDetailsViewModel (SelectedItem) au EmployeesDetailsView que vous faites manuellement. CM est pas des choses Câblage à ce moment-là. Pouvez-vous poster le XAML et certains cs pour la liaison SelectedItem? Avez-vous essayé

<MyUc:EmployeesDetailsView x:Name="SelectedEmployee" />

Et accrocher un SelectedEmployee au large de la EmployeeListViewModel?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top