我必须将数据行绑定到我的控件。到目前为止,一切都很好。现在的问题是,我的数据行只包含我必须绑定的列中的字符串,但是 Checkbox 的“已选中”属性当然只接受布尔参数。
有没有办法在这里使用 DataBinding?也许在两者之间有某种转换器?
谢谢
我必须将数据行绑定到我的控件。到目前为止,一切都很好。现在的问题是,我的数据行只包含我必须绑定的列中的字符串,但是 Checkbox 的“已选中”属性当然只接受布尔参数。
有没有办法在这里使用 DataBinding?也许在两者之间有某种转换器?
谢谢
使用ConvertEventHandler 委托更改 DataBinding 的类型。
例子
Binding binding = new Binding("checked", dt, "string_field");
binding.Format += new ConvertEventHandler(binding_Format);
binding.Parse += new ConvertEventHandler(binding_Parse);
this.checkbox1.DataBindings.Add(binding);
void binding_Format(object sender, ConvertEventArgs e)
{
if (e.Value.ToString() == "yep") e.Value = true;
else e.Value = false;
}
void binding_Parse(object sender, ConvertEventArgs e)
{
if ((bool)e.Value) e.Value = "yep";
else e.Value = "nope";
}