Самый простой способ, который я нашел, это расширить AutoCompleteBox:
public class AutoCompleteBoxClear : AutoCompleteBox
{
public AutoCompleteBoxClear()
{
DataContextChanged += (o, e) =>
{
if (SelectedItem == null)
Text = string.Empty;
};
}
}
Теперь используйте новый элемент управления AutoCompleteBoxClear в вашем XAML.
Это очищает текст только тогда, когда текст автозаполнения dacacontext изменяется на ноль (т. Е. Пользователь нажимает добавить в форму данных.)
Примечание: я думаю, что DataContextChanged доступен только в Silverlight 5, но я предполагаю, что любой, кто все еще использует Silverlight в эти дни, вероятно, обновился бы сейчас ...