2010-01-30 120 views
3

我有一個文本框綁定(單向)到一個數據表,每秒鐘更新幾次。 因此,文本框的值不斷反映數據表中的變化。 當我輸入文本框來手動設置值時,綁定會導致值不斷被覆蓋。我該如何阻止? 當我輸入一個值(文本框丟失焦點)時,我希望文本框返回以顯示界限值,而不是我手動輸入的值。WPF - 暫時停止數據綁定(數據綁定)

回答

1

您可以附加到文本輸入事件並取消綁定,然後將其重新應用於丟失的焦點事件。

但是我認爲你需要考慮爲什麼你在文本框中顯示你的界限值?使用可編輯的文本框爲可選的用戶輸入單獨顯示不可編輯的文本塊來顯示數據庫信息會更合適嗎?

雖然你問的是使用我提到的文本框事件是可行的,但它似乎會從用戶的角度來混淆。

+1

我知道我需要把代碼中的什麼事件!!!!! 我不知道如何以編程方式將綁定關閉並重新打開。 – Adam 2010-01-30 09:38:42

+1

+1 - 它確實聽起來像一個混亂的用戶界面,通過採用組合文本塊和文本框方式最好解決。 – slugster 2010-01-30 10:32:41

2

我有同樣的問題,我通過

  1. 解決它隨着BindingNavigator,我將它設置爲空

    bdNavProduct.BindingSource = NULL;

  2. 與其他文本框控件,DataGridView的,我清除數據綁定

     txtProductID.DataBindings.Clear(); 
        txtProductName.DataBindings.Clear(); 
        txtQuantity.DataBindings.Clear(); 
        txtUnitPrice.DataBindings.Clear(); 
        dgvProduct.DataBindings.Clear(); 
    

託尼