首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Effective C# 原則 38:使用與支援資料繫結 (上)

     編輯:關於C語言

傳統手動同步 vs. 資料繫結

傳統寫法需在 Leave 事件手動同步控制項與資料物件,程式碼重複且易漏處理事件:

textBoxName.Text = myDataValue.Name;
this.textBoxName.Leave += (s, e) => myDataValue.Name = textBoxName.Text;

資料繫結單行搞定:

textBoxName.DataBindings.Add("Text", myDataValue, "Name");

內部由 BindingManager 與 CurrencyManager 實現雙向傳輸。

資料繫結核心優勢

  1. 比手寫程式碼簡單得多。
  2. 透過屬性繫結文字元素,效果極佳。
  3. Windows Forms 可同步多控制項繫結同一資料來源的變更偵測。

範例:依資料狀態動態變色

傳統寫法需在多處事件呼叫變色邏輯,易遺漏。資料繫結只需在資料物件加入 ForegroundColor 屬性:

private Color _clr = Color.Black;
public Color ForegroundColor { get { return _clr; } }

private string _txtToDisplay;
public string Text
{
    get { return _txtToDisplay; }
    set
    {
        _txtToDisplay = value;
        UpdateDisplayColor(IsTextValid());
    }
}
private void UpdateDisplayColor(bool valid) => _clr = valid ? Color.Black : Color.Red;

繫結 textBox1.ForeColor 至 ForegroundColor,UI 自動隨資料狀態變色,無需手動事件處理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved