C# 在WinForm 中簡單實現雙向繫結 VM
阿新 • • 發佈:2021-06-10
/// <summary> /// 將繫結資料來源和控制元件繫結 /// </summary> /// <param name="ctl">控制元件</param> /// <param name="propertyName">屬性名稱</param> /// <param name="BindingSource">資料來源</param> /// <param name="fieldName">繫結欄位</param> public static void SetDataBinding(this System.Windows.Forms.Control ctl, string propertyName, object BindingSource, string fieldName) { if (ctl.DataBindings[propertyName] != null) { ctl.DataBindings.Remove(ctl.DataBindings[propertyName]); } ctl.DataBindings.Add(propertyName, BindingSource, fieldName, true, DataSourceUpdateMode.OnPropertyChanged); } /// <summary> /// 移除繫結屬性 /// </summary> /// <param name="ctl"></param> /// <param name="propertyName"></param> public static void RemoveDataBinding(this System.Windows.Forms.Control ctl, string propertyName) { if (ctl.DataBindings[propertyName] != null) { ctl.DataBindings.Remove(ctl.DataBindings[propertyName]); } }
呼叫
ComboBox.SetDataBinding("Text", Models, "欄位名稱");
當修改了model 的時候再重新執行
ComboBox.SetDataBinding("Text", Models, "欄位名稱");