2014-02-25 83 views
0

我有一個文本框綁定到一個屬性,當按下「輸入」在這個文本框中,一個方法被調用來更新一些其他變量。與鍵盤事件的數據綁定同步

如果我嘗試在此方法中使用有界屬性的值,它的值仍舊是舊值。

我需要退出文本框才能更新此屬性。

有一種方法可以避免這種情況?

回答

2

文本框綁定具有默認UpdateSourceTriggerLostFocus。如果每次文本更改時都要更新,只需使用PropertyChanged即可。

例如。

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

如果你只是想以更新綁定被按下時進入,那麼你可以使用UpdateSourceTrigger=Explicit和更新代碼的自動綁定後面。

BindingExpression binding = myTextBox.GetBindingExpression(TextBox.TextProperty); 
binding.UpdateSource(); 
+0

這是值得小心使用。有一種方法可以在調用我的方法之前更新所有綁定。 – Beetlejuice

+0

正如我所說的,如果你想手動使用'UpdateSourceTrigger = Explicit'。我已經添加了一些示例代碼。 – GazTheDestroyer