J'ai deux ComboBox, une pour l'organisation et une pour la région. Lors de la sélection de l'organisation, je souhaite que la zone de liste déroulante Région se mette à jour avec les régions correspondantes. Après avoir sélectionné Organisation et Région, je peux taper un site dans une zone de texte et le stocker en db (mode ADD). J'ai terminé que avec ce code:Comment puis-je définir l'SelectedIndex dans un ComboBox ayant une liaison d'élément?
<ComboBox x:Name="cbOrganisation"
Grid.Row="0"
Grid.Column="1"
ItemsSource="{Binding OrganisationEntries}"
SelectedItem="{Binding SelectedOrganisation, Mode=TwoWay}"
SelectedIndex="{Binding SelectedOrganisationIndex}"
DisplayMemberPath="Description">
</ComboBox>
<ComboBox x:Name="cbRegions"
Grid.Row="1"
Grid.Column="1"
ItemsSource="{Binding ElementName=cbOrganisation, Path=SelectedItem.Regions}"
SelectedItem="{Binding SelectedRegion, Mode=TwoWay}"
SelectedIndex="{Binding SelectedRegionIndex}"
DisplayMemberPath="Description" >
</ComboBox>
Donc, je suis en utilisant un élément à la liaison, le second ayant combobox le premier comme ItemSource.
Maintenant, j'ai un nouveau problème quand je veux éditer un site dans ma collection. En mode EDIT, je souhaite que les deux listes déroulantes soient présélectionnées et désactivées (BusinessRule permet de modifier le nom du site, et non l'organisation à laquelle il est connecté). Par conséquent, en définissant la propriété SelectedIndex sur la liste déroulante Organisation, mon organisation est sélectionnée, mais lorsqu'elle est identique sur la liste déroulante Régions, elle échoue avec une erreur de référence d'objet. Une idée de ce que je fais mal?