void outerBind() { bsOuter.DataSource = dtOuter; foreach (Control c in this.Controls) { if (c.Name == "cmb负责人") { continue; } if (c.Name.StartsWith("tb")) { (c as TextBox).DataBindings.Clear(); (c as TextBox).DataBindings.Add("Text", bsOuter.DataSource, c.Name.Substring(2), false, DataSourceUpdateMode.OnPropertyChanged); } else if (c.Name.StartsWith("lbl")) { (c as Label).DataBindings.Clear(); (c as Label).DataBindings.Add("Text", bsOuter.DataSource, c.Name.Substring(3)); } else if (c.Name.StartsWith("cmb")) { (c as ComboBox).DataBindings.Clear(); (c as ComboBox).DataBindings.Add("Text", bsOuter.DataSource, c.Name.Substring(3)); ControlUpdateMode cm = (c as ComboBox).DataBindings["Text"].ControlUpdateMode; DataSourceUpdateMode dm = (c as ComboBox).DataBindings["Text"].DataSourceUpdateMode; } else if (c.Name.StartsWith("dtp")) { (c as DateTimePicker).DataBindings.Clear(); (c as DateTimePicker).DataBindings.Add("Value", bsOuter.DataSource, c.Name.Substring(3)); ControlUpdateMode cm = (c as DateTimePicker).DataBindings["Value"].ControlUpdateMode; DataSourceUpdateMode dm = (c as DateTimePicker).DataBindings["Value"].DataSourceUpdateMode; } } }
public void Binding_WriteValue_Invoke_DoesNotCallBindingComplete(ControlUpdateMode controlUpdateMode, bool formattingEnabled) { var binding = new Binding("propertyName", new object(), "dataMember") { ControlUpdateMode = controlUpdateMode, FormattingEnabled = formattingEnabled }; // No handler. binding.WriteValue(); // Handler. int callCount = 0; BindingCompleteEventHandler handler = (sender, e) => callCount++; binding.BindingComplete += handler; binding.WriteValue(); Assert.Equal(0, callCount); // Should not call if the handler is removed. binding.BindingComplete -= handler; binding.WriteValue(); Assert.Equal(0, callCount); }
///<summary> /// 设置控件更新方式。 /// </summary> /// <param name="property">源。</param> /// <param name="mode">模式。</param> /// <returns></returns> public static IBindableProperty SetControlUpdateMode(this IBindableProperty property, ControlUpdateMode mode) { property.ControlUpdateMode = mode; return(property); }
//外表控件绑定 private void outerBind() { bs记录.DataSource = dt记录; ////控件绑定(先解除,再绑定) //tb产品代码.DataBindings.Clear(); //tb产品代码.DataBindings.Add("Text", bs记录.DataSource, "产品代码"); //tb产品批号.DataBindings.Clear(); //tb产品批号.DataBindings.Add("Text", bs记录.DataSource, "产品批号"); //dtp生产日期.DataBindings.Clear(); //dtp生产日期.DataBindings.Add("Text", bs记录.DataSource, "生产日期"); //tb管口代码.DataBindings.Clear(); //tb管口代码.DataBindings.Add("Text", bs记录.DataSource, "管口代码"); ////各种参数设定 tb焊线1参数1.DataBindings.Clear(); tb焊线1参数1.DataBindings.Add("Text", bs记录.DataSource, "焊线1参数1"); tb焊线1参数2.DataBindings.Clear(); tb焊线1参数2.DataBindings.Add("Text", bs记录.DataSource, "焊线1参数2"); tb焊线1参数3.DataBindings.Clear(); tb焊线1参数3.DataBindings.Add("Text", bs记录.DataSource, "焊线1参数3"); tb焊线1参数4.DataBindings.Clear(); tb焊线1参数4.DataBindings.Add("Text", bs记录.DataSource, "焊线1参数4"); tb焊线1参数5.DataBindings.Clear(); tb焊线1参数5.DataBindings.Add("Text", bs记录.DataSource, "焊线1参数5"); tb电压.DataBindings.Clear(); tb电压.DataBindings.Add("Text", bs记录.DataSource, "电压"); //tb合格品数量.DataBindings.Clear(); //tb合格品数量.DataBindings.Add("Text", bs记录.DataSource, "合格品数量"); //tb不良品数量.DataBindings.Clear(); //tb不良品数量.DataBindings.Add("Text", bs记录.DataSource, "不良品数量"); //tb审核员.DataBindings.Clear(); //tb审核员.DataBindings.Add("Text", bs记录.DataSource, "审核员"); //dtp审核日期.DataBindings.Clear(); //dtp审核日期.DataBindings.Add("Text", bs记录.DataSource, "审核日期"); foreach (Control c in this.Controls) { if (c.Name == "cmb负责人") { continue; } if (c.Name.StartsWith("tb")) { (c as TextBox).DataBindings.Clear(); (c as TextBox).DataBindings.Add("Text", bs记录.DataSource, c.Name.Substring(2), false, DataSourceUpdateMode.OnPropertyChanged); } else if (c.Name.StartsWith("lbl")) { (c as Label).DataBindings.Clear(); (c as Label).DataBindings.Add("Text", bs记录.DataSource, c.Name.Substring(3)); } else if (c.Name.StartsWith("cmb")) { (c as ComboBox).DataBindings.Clear(); (c as ComboBox).DataBindings.Add("Text", bs记录.DataSource, c.Name.Substring(3)); ControlUpdateMode cm = (c as ComboBox).DataBindings["Text"].ControlUpdateMode; DataSourceUpdateMode dm = (c as ComboBox).DataBindings["Text"].DataSourceUpdateMode; } else if (c.Name.StartsWith("dtp")) { (c as DateTimePicker).DataBindings.Clear(); (c as DateTimePicker).DataBindings.Add("Value", bs记录.DataSource, c.Name.Substring(3)); ControlUpdateMode cm = (c as DateTimePicker).DataBindings["Value"].ControlUpdateMode; DataSourceUpdateMode dm = (c as DateTimePicker).DataBindings["Value"].DataSourceUpdateMode; } else if (c.Name.StartsWith("cb")) { (c as CheckBox).DataBindings.Clear(); (c as CheckBox).DataBindings.Add("Checked", bs记录.DataSource, c.Name.Substring(2)); ControlUpdateMode cm = (c as CheckBox).DataBindings["Checked"].ControlUpdateMode; DataSourceUpdateMode dm = (c as CheckBox).DataBindings["Checked"].DataSourceUpdateMode; } } }
public BindingBuilder <T, V> ControlUpdateMode(ControlUpdateMode updateMode) { _binding.ControlUpdateMode = updateMode; return(this); }
/// <summary> /// Sets the update mode for the target of the binding, i.e. when /// changes in the binding source are propagated to the target. /// </summary> /// <param name="value">The <see cref="ControlUpdateMode" /> to use for the target.</param> public CompleteBinding WithTargetUpdateMode(ControlUpdateMode value) { Binding.ControlUpdateMode = value; return this; }