上下文的位如何在窗口失去焦點時更新文本框的值?
<TextBox Text="{Binding Value, UpdateSourceTrigger=LostFocus}"/>
TextBox控件具有稱爲UpdateSourceTrigger裝訂選項,這是默認設置爲引發LostFocus。但是,當TextBox在其自己的窗口內失去焦點時,這隻能工作。即使整個所有者窗口失去焦點,我也需要更新綁定。
可能的解決方案?
現在,Window.Deactivated事件似乎做得很好。
<Window x:Class="MyWindow" Deactivated="OnDeactivated">
在這個問題
話雖這麼說,怎麼能在TextBox監聽它的父窗口的Window.Deactivated事件,考慮到文本框都生活在用戶控件對象的幾層。
Window --> UserControl --> UserControl --> TextBox
我怎樣才能讓事件氣泡下從窗口到TextBox? (ie:讓TextBox監聽Window.Deactivated事件)
或者也許有更好的解決方案呢?
您的目標是?爲什麼當窗口失去焦點時需要更新文本框? – unkreativ
我們需要填寫的值與其他客戶端同步。如果用戶在表單中的其他地方點擊,則沒問題。但是如果他點擊另一個窗口或應用程序,則該值不會同步。而且,UpdateSourceTrigger = PropertyChanged不是一個可行的解決方案,因爲每次用戶輸入一個新的字母時它都會觸發同步。 – asmo
如果我沒有錯,我應該默認情況下發生。 – Gopichandar