Строка DependencyProperty, onChange при наборе текста - PullRequest
3 голосов
/ 19 января 2011

Я хочу создать простое окно поиска, поэтому у меня есть текстовое поле, и когда кто-то вводит строку поиска, я хочу выполнить метод поиска.

Проблема в том, что метод onChange выполняется, когда я изменяю щелчок мышью из текстового поля, и я хочу, чтобы событие onChange выполнялось во время ввода.

<TextBox Text="{Binding SearchTerm}" />

public static readonly DependencyProperty SearchTermProperty =
            DependencyProperty.Register("SearchTerm", typeof(string), typeof(MainWindow), new PropertyMetadata(string.Empty, OnCaptionPropertyChanged));
        private static void OnCaptionPropertyChanged(DependencyObject dependencyObject, 
               DependencyPropertyChangedEventArgs e) 
        {
            ((MainWindow)dependencyObject).SearchTracks(e.NewValue.ToString());
        }

Спасибо!

Ответы [ 3 ]

3 голосов
/ 19 января 2011
<TextBox Text="{Binding SearchTerm, UpdateSourceTrigger=PropertyChanged}" />
2 голосов
/ 19 января 2011

Вы должны изменить атрибут UpdateSourceTrigger на ProperyChanged.

<TextBox Text="{Binding SearchTerm,UpdateSourceTrigger=PropertyChanged}" />

Если вы также хотите отслеживать специальные клавиши , вам необходимо зарегистрироваться на PreviewKeyDown -Event.

0 голосов
/ 19 января 2011

Попробуйте вместо этого использовать PreviewTextInput.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...