我正在尝试使用Control.DataBindings.Add()添加到绑定。我遇到的问题是数据成员名称中有一个句点和空格(“Foo.Bar”)。当我尝试添加绑定时,我将字符串“Foo.Bar”作为参数之一传递,我得到一个异常“CAn not find datamember”Foo。“。
是否有一种语法,我需要使用它来传递datamember名称?我尝试在名称周围添加“[]”,但没有骰子。
提前致谢。
答案 0 :(得分:1)
经过深入挖掘才找到解决这个问题的方法后,我发现如果你把你的DataSource作为一个集合(甚至是一个项目),那么.Net 4.0的实现就可以了....
ArrayList list = new ArrayList();
list.Add(myDataSource);
Binding binding = new Binding(PropertyName, list, "Dotted.Path.Name");
Control.DataBindings.Add(binding);
希望它有所帮助......
答案 1 :(得分:0)
这应该这样做:
Control.DataBindings.Add(new Binding("Text", ds,"Foo. Bar"));
答案 2 :(得分:0)
这应该可行,因为我多年来一直使用.Net 2.0。只有小数点后我才会有空格。但是,似乎.Net 4.0在某些情况下对此有不同的处理方式。我得到了与你所做的相同的Argument错误,尤其是绑定控件驻留在用户控件内时(但并非总是......)
在Net 3.5(或2.0)中运行相同的代码时,它很有趣,它的行为符合预期,我可以使用CheckBox1.DataBindings.Add("Checked",obj,"MainBooking.JoinersAllowed")
。但在Net 4.0中它给了我很多悲伤。欢迎任何解决方案/建议。