使用Windows窗体设计器将属性绑定到控件

时间:2013-02-08 07:35:48

标签: c# winforms data-binding designer

我想使用Windows窗体设计器将属性绑定到控件。

例如,我有这个组件:

class MyComponent:Component, INotifyPropertyChanged {
    public event PropertyChangedEventHandler PropertyChanged;
    private string _strProperty;
    [Bindable(true)]
    public string StrProperty {
      get{
        return _strProperty;
      }
      set {
        if (_strProperty != value) {
          _strProperty = value;
          if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("StrProperty"));
        }
      }
    }
  }

我从工具箱中拖动此组件并将其放在表单上。组件名称是myComponent1。在同一个表单上,我有一个名为textBox1的TextBox控件 现在我想将 textBox1.Text 属性绑定到 myComponent1.StrProperty 属性。 我知道我可以写代码:

textBox1.DataBindings.Add(new Binding("Text", myComponent1, "StrProperty"));

但我希望使用设计师获得相同的结果。可能吗?我应该使用BindingSource吗?

2 个答案:

答案 0 :(得分:3)

由于你的问题是3年,我不确定这适用于你当时的Visual Studio版本,但对于现在感兴趣的其他人来说,你是如何做到的:

  • 选择 textBox1
  • 在属性网格中展开(DataBindings)
  • 文字中,输入 myComponent1 - StrProperty
  • 输入,完成

这很简单。如果您检查生成的设计器代码,您将看到创建的新绑定,就像您通过代码完成的那样。

答案 1 :(得分:2)

不,你只能在WinForm中使用代码隐藏来绑定属性。但是,您可以在没有C#代码但使用XAML的情况下在WPF中绑定数据。