ComboBox modifiable avec une liaison à la valeur ne figurant pas dans la liste

J’ai une liste déroulante modifiable où l’élément préféré n’est pas toujours dans la liste déroulante.

Je voudrais avoir la possibilité de saisir manuellement du texte dans la zone de texte qui se propage à la chaîne liée à SelectedValue.

En ce moment, la chaîne liée à SelectedValue n’est mise à jour que si la valeur entrée est celle des éléments ComboBox.

Comment autoriser les valeurs personnalisées non disponibles dans la liste ComboBox à être saisies manuellement et correctement propagées à la valeur liée?

Je le faisais hier et aujourd’hui et cela ressemble à ceci:

  1. définir la combobox IsEditable="true"

  2. au lieu de lier à SelectedItem , liez à la propriété Text de la liste déroulante

  3. Si vous liez à un object personnalisé au lieu de simplement des chaînes, vous devez également définir TextSearch.TextPath="NameOfField" . Cela permet au comportement de recherche de texte de fonctionner et affiche également cette propriété dans la zone de texte.

Dans l’ensemble, j’ai fini avec quelque chose comme:

   

La définition de la liaison à la propriété Text de Combo suffit également.