0

我想使用 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 吗?

4

2 回答 2

3

由于您的问题已有 3 年历史,我不确定这是否适用于您当时的 Visual Studio 版本,但对于现在感兴趣的其他人来说,您可以这样做:

  • 选择文本框1
  • 在属性网格中展开(DataBindings)
  • Text中,输入myComponent1 - StrProperty
  • 回车,完成

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

于 2016-03-30T14:30:56.320 回答
2

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

于 2013-02-08T09:36:53.467 回答