Lors de l'utilisation ComboBox
ou d'autres contrôles qui ont ItemsSource
et SelectedItem
liaisons de propriété, alors chaque fois lors de la liaison initiale au cours de l'exécution et également chaque fois que la limite collection à ItemsSource
changements Je constate que le contenu de l'objet SelectedItem
lié est modifié.contrôles WPF, désactiver les modifications à `SelectedItem` lorsqu'il est lié propriété à` ItemsSource` change
Comment puis-je désactiver cela?
Par exemple:
Je <ComboBox MinWidth="300" ItemsSource="{Binding AvailableMasters}" SelectedItem="{Binding SelectedMaster}">
Quand je lance l'application de la propriété SelectedMaster
est attribué le premier élément de AvailableMasters
. En outre, chaque fois que la collection AvailableMasters
change (par exemple, en affectant une nouvelle collection à la propriété) le SelectedMaster
est de nouveau ajusté.
Le comportement souhaité est que SelectedItem
(SelectedMaster
) est seulement peuplée/changé lorsque l'utilisateur final clique avec la souris sur ce point/choisit que l'élément de la ComboBox
ou un autre contrôle.
Avez-vous essayé une liaison OneWayToSource sur la propriété SelectedItem? – Clemens
Si vous souhaitez définir une seule fois au démarrage, utilisez le mode de liaison une seule fois. Plus tard, la sélection changera uniquement sur la sélection de l'utilisateur. Etes-vous sûr que les masters sélectionnés ne changent pas lors de la modification des masters disponibles? Si tel est le cas ne pas augmenter la propriété a changé l'événement des maîtres disponibles jusqu'à ce que non requis. – Ramankingdom
@Ramankingdom, je crains que vous ayez mal compris. Je ne veux pas que SelectedItem soit affecté lorsque la propriété liée à ItemsSource est modifiée. –