Bonjour à tous,
J'ai une fenêtre qui se charge d'afficher des UserControl créés dynamiquement un peu comme un wizard control sauf qu'il y'a une animation de transition entre chaque UserControl.
Dans un de mes contrôles j'ai un DataGrid avec mon ItemSource binder à une ObservableCollectionde mon viewmodel et dans un des headers de colonne j'ai une combobox binder à une autre ObservableCollection, mais vu que la DataGrid a son ItemSource de binder je remonte a mon UserControl pour atteindre le DataContext de mon viewModel (sinon je suis dans le contexte de ma datagrid):
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <ComboBox ItemsSource="{Binding EnabledFilter}" SelectedItem="{Binding EnabledFilterSelected}" DataContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=UserControl, AncestorLevel=1}, Path=DataContext}" HorizontalAlignment="Center" >
Tout marche parfaitement bien si je mets mon UserControl dans une fenêtre.
Par contre si je crée celui-ci dynamiquement (+le temps de l'animation) le binding est dans les choux, le RelativeSource ne fonctionne plus.
J'ai testé en donnant un nom à mon usercontrol et utilisé ElementName sans succès.
Petite précision, mon DataContext est directement lié à mon viewmodel en xaml.
Donc voilà si quelqu'un à une idée, solution à me proposer hormis de sortir ma combobox du header de ma datagrid ^^.
Cordialement.
Partager