2012-07-26 62 views
1

我擁有自己的自定義TextBox類(稱爲MyCustomTextBox)。部分它可以幫助我處理來自條形碼閱讀器的掃描。當綁定到TextProperty的值更改爲Decended TextBox時,獲取更改事件

我需要這個工作的一部分是捕獲綁定到TextProperty的值更改時的一種方法。

注意:我不在尋找「TextChanged」事件或任何與按鍵相關的事件(除非該按鍵更新源)。

下面是一個例子:

我需要一個事件(在MyCustomTextBox)時,基礎值(客戶ID)得到改變,這將只火。

注意:每次按鍵發生時,實際的TextProperty都會發生變化。但是,源代碼稍後纔會更新(取決於您的UpdateSourceTrigger設置)。 TextProperty對於我正在嘗試執行的操作而言頻繁更改。所以附加它不會幫助我。

有什麼方法可以附加到TextProperty下的值嗎?

這可能嗎?

+0

可能重複[獲取綁定到TextProperty爲文本框器的新生代值變化事件(HTTP:/ /stackoverflow.com/questions/11678632/get-change-events-for-value-bound-to-textproperty-for-a-decendant-of-textbox) – Druid 2012-07-27 05:10:01

回答

1

是的,你需要連接兩個事件雖然時比其他文本框的東西改變基本屬性(當它第一次綁定)如

 <TextBox Name="Fred" Text="{Binding Foo, NotifyOnTargetUpdated=True, NotifyOnSourceUpdated=True, UpdateSourceTrigger=LostFocus}" TargetUpdated="Fred_TargetUpdated" SourceUpdated="Fred_SourceUpdated"> 

TargetUpdated事件將被解僱。在你的虛擬機的一些方法說

當你的文本框更新在失去重心的結合如

Sourceupdated事件將被解僱

+0

這不會每次發射'Foo'都被改變。例如:'Foo = value;''(PropertyChanged(「Foo」);'。只有當TextBox改變'Foo'時纔會觸發 – Vaccano 2012-07-27 21:23:15

+0

TargetUpdated在我修改底層屬性時觸發我。在我的屏幕上和click事件上,Foo =「whatever」文本框上的TargetUpdated事件觸發了。我們在談論同一件事情嗎?你有INotify工作等嗎? – Nogusta 2012-07-30 00:00:39

相關問題