2010-06-23 146 views
3

我有一個很多文本框的網格,我想調用NotifyPropertyChanged()方法更新一些其他控件每次這些文本框中的一個改變了值=丟失了焦點(我不想使用PropertyChangedUpdateSourceTriggerWPF TextBox lostfocus作爲附加屬性

這是我可以做的:

<Grid TextBoxBase.TextChanged="My_TextChanged" > 
... 
</Grid> 

我需要這樣的東西:

TextBoxBase.OnLostFocus 

回答

0

使用失去焦點的事件在文本框

TextBox.LostFocus="OnTextBoxLostFocus" 

過濾器;)

private void OnTextBoxLostFocus(object sender, RoutedEventArgs e) 
{ 
    if(!(e.OriginalSource is TextBox)) 
     return; 

    //Do stuff 
} 

如果你的屬性沒有改變,你的文本框將不會被更新。但是。您應該考慮改變其他文本框綁定的數據,而不是使用LostFocus更新模型。

祝你好運!

0

TextBoxBase.LostFocus是,我懷疑,你正在尋找的事件。

它在此處列出:http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.textboxbase_events.aspx - 但它在UIElement上定義 - 因此如果上述內容在標記中不起作用,則可能需要嘗試UIElement.LostFocus

+0

我得到一個錯誤,在TextBoxBase中找不到LostFocus – 2010-06-23 13:45:54

+0

已修復(對不起,不能從這裏測試)。 – 2010-06-23 13:51:53

+0

您不能將UIElement設置爲網格的附加屬性。 – 2010-06-24 06:16:39