Autocompletebox не очищает нажатия клавиш

В моем приложении я использую окно автозаполнения WPF из набора инструментов wpf. Я реализую это через шаблон MVVM. Привязка работает нормально, но у меня есть небольшая проблема при попытке очистить содержимое autocompletebox. Если для свойства привязки в viewmodel установлено значение null, текст очищается только частично (весь текст, введенный с клавиатуры, не очищается, т. Е. Если я выбираю CH при извлечении всех городов и выбираю Чикаго, а для свойства привязки устанавливается значение null, то CH не очищается, остальное ИКАГО есть.)

XAML выглядит так:

           <my:AutoCompleteBox Grid.Row="0"
                                Grid.Column="1" 
                                HorizontalAlignment="Left" 
                                Margin="0,6,0,0" 
                                Name="acTown" 
                                SelectedItem="{Binding NewTown, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                                ValueMemberBinding="{Binding Converter={StaticResource TownConverter}}"        
                                Populating="Populating"
                                VerticalAlignment="Top" 
                                Height="Auto" 
            </my:AutoCompleteBox>

Метод в viewmodel для очистки поля:

   public void ClearTown()
    {

    NewTown = null;

    OnPropertyChanged("NewTown");
}

Я не могу понять, что не так с кодом, или это просто ошибка в автозаполнении?

После обширных исследований я нашел эту статью: Как очистить текст поиска Silverlight AutoCompleteBox с помощью MVVM, но он не предлагает решения. Кажется, в AutoCompleteBox есть свойство SearchText, которое доступно только для чтения и не может иметь установщика

1 ответ

Решение

Наконец то понял. Если кому-то интересно, решение состоит в том, чтобы просто изменить NewTown = null в NewTown = new NewTown() в функции ClearTown.

Другие вопросы по тегам