j'avais été le réglage de la DataContext pour UserControls comme ceci:DataTemplate utilisation DataType WPF
<uc:DepartmentListingView DataContext="{Binding ., Mode=TwoWay}" />
Basé sur un sample project by Josh Smith Je suis en train de faire la même chose avec un DataTemplate et DataType:
<!-- Template applies a DepartmentListingView to an instance of the DepartmentSelectionViewModel class. -->
<DataTemplate DataType="{x:Type model:DepartmentSelectionViewModel}">
<uc:DepartmentListingView />
</DataTemplate>
Cela fonctionne bien, mais bien sûr il y a un problème; Je pense que cela pourrait provenir d'essayer de définir plus d'une vue (UserControl) au même modèle de vue (?). Dans le code ci-dessous, j'associe maintenant le même viewModel d'en haut avec une vue différente dans la même fenêtre.
<DataTemplate DataType="{x:Type model:DepartmentSelectionViewModel}">
<uc:ListSubjectHeaderView />
</DataTemplate>
La première vue est câblé même comme il était quand je mis le DataContext explicitement mais le dernier point de vue ne reçoit pas de liaison, même si aucune erreur DataBinding évidente soit dans la console.
Donc, resusciter l'astuce DataType/DataTemplate de cette façon soit le problème?
Merci,
Berryl
Merci pour la réponse, mais cela semble assez hacky même si cela a fonctionné. J'ai posé une question connexe d'un point de vue différent [ici] (http://stackoverflow.com/questions/3205338/usercontrol-as-content-for-headeredcontent-control-headertemplate) où j'essaie d'intégrer le modèle. D'autres idées? – Berryl