2

我的目标是框架 4.0,这在开发机器上运行良好,我可以在启动时看到带有显示绑定消息的文本框的表单。但是当我在任何其他机器上部署可执行文件时,它不会声称“无法绑定到数据源上的属性或列注释”。非常奇怪的是,如果我针对 3.5 框架进行编译,它在任何机器上都能正常工作。有人可以解释这种奇怪的行为吗?开发环境和客户端机器有什么不同?

namespace Demo
{
    public partial class Form1 : Form
    {
        private readonly SimpleDataContext _dataContext;

        public Form1()
        {
            InitializeComponent();

            _dataContext = new SimpleDataContext { Prop = new SimpleProp { Note = "hi!" }};
            textBox1.DataBindings.Add("Text", _dataContext, "Prop.Note");         
        }
    }

    public class SimpleDataContext
    {
        public SimpleProp Prop { get; set; }
    }

    public class SimpleProp
    {
        public string Note { get; set; }
    }  
}
4

1 回答 1

2

4.0 中的重大变化。请参阅.Net 4.0 简单绑定问题

解决方法是使用 BindingSource:

public Form1() {
  InitializeComponent();
  _dataContext = new SimpleDataContext { Prop = new SimpleProp { Note = "hi!" } };
  BindingSource bs = new BindingSource(_dataContext, null);
  textBox1.DataBindings.Add("Text", bs, "Prop.Note");    
}
于 2012-06-13T21:49:59.663 回答