Bonjour,
J'ai une page qui contient une CollectionViewSource comme ca:
1 2 3 4
|
<Window.Resources>
<CollectionViewSource x:Key="villeLookup"/>
</Window.Resources> |
Voici le code-behind:
1 2 3 4 5 6 7 8
|
CollectionViewSource villeLookup = this.FindResource("villeLookup") as CollectionViewSource;
using (DataAccess.myProjectEntities3 objectContext = new Baux.DataAccess.myProjectEntities3())
{
this.DataContext = objectContext.dossier.Include("ville").Where(f => f.idDossier == 3).FirstOrDefault();
villeLookup.Source = objectContext.ville.ToList();
} |
Maintenant, dans cette page j'ai un userControl dans lequel j'affiche une ComboBox qui doit afficher la liste des villes. Je veux donc faire référence à "villeLookup" défini dans la page parent pour populer mon comboBox. (Je ne veux pas descendre la définition de villeLookup dans mon userControl car je dois utiliser le même objectContext pour chercher mes dossiers et mes villes)
Voici mon comboBox:
1 2 3 4 5 6
| <ComboBox
ItemsSource="{Binding Source={StaticResource villeLookup}}"
DisplayMemberPath="villeNom"
SelectedValuePath="idVille"
SelectedItem="{Binding Path=ville}"
></ComboBox> |
Évidemment, ca ne compile pas car le système ne trouve pas villeLookup.
J'ai essayé différente facon:
{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=villeLookup}
Résultat:
"Ne trouve pas la propriété villeLookup dans MaPageParent"
ItemsSource="{Binding Source={DynamicResource cityLookup}}"
Résultat:
Ne peux pas utiliser DynamicResource sur l'élément Source.
Je ne sais pas quoi faire! Avez-vous des idées?
Merci!
Partager