2011-01-19 114 views
3

我想創建一個簡單的搜索框,所以我有一個文本框,當有人輸入searchterm我想執行搜索方法。DependencyProperty字符串,onChange輸入時

問題是,當我改變點擊的文本框時,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
<TextBox Text="{Binding SearchTerm, UpdateSourceTrigger=PropertyChanged}" /> 
+0

謝謝,就是這樣! – BvdVen 2011-01-19 19:43:38

2

您必須將UpdateSourceTrigger屬性更改爲ProperyChanged。

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

如果你也想軌道特殊鍵,你必須註冊到PreviewKeyDown - 活動。

+0

謝謝,就是這樣! – BvdVen 2011-01-19 19:43:02

0

嘗試使用PreviewTextInput代替。