Dans le code source de AutoCompleteBox (téléchargeable à partir de Microsoft) J'ai trouvé ce qui suit:Silverlight 4 AutoCompleteBox, la mise en SelectedItem à null
/// <summary>
/// Called when the selected item is changed, updates the text value
/// that is displayed in the text box part.
/// </summary>
/// <param name="newItem">The new item.</param>
private void OnSelectedItemChanged(object newItem)
{
string text;
if (newItem == null)
{
text = SearchText;
}
else
{
text = FormatValue(newItem, true);
}
// Update the Text property and the TextBox values
UpdateTextValue(text);
// Move the caret to the end of the text box
if (TextBox != null && Text != null)
{
TextBox.SelectionStart = Text.Length;
}
}
Ce qui me trouble est {text = SearchText;} ligne. Si je lie SelectedItem à mon ViewModel et après une entrée de recherche dans AutoCompleteBox, SearchText n'est pas vide, puis lorsque les données sous-jacentes sont réinitialisées à null, AutoCompleteBox peut afficher SearchText au lieu de chaîne vide. Quelqu'un peut-il expliquer pourquoi il est écrit de cette façon, et suggérer une solution de contournement?
Merci de m'avoir indiqué la bonne direction. –