【问题标题】:Cannot bind to the property or column [...] on the DataSource无法绑定到 DataSource 上的属性或列 [...]
【发布时间】:2010-09-08 18:34:11
【问题描述】:

我正在尝试将 System.Windows.Forms.Label 的 Font 属性绑定到我的类的属性(通过表单设计器)。

这是我看到的“无法绑定到数据源上的属性或列 HeaderText”的异常

我尝试将我的类设为静态并使其公开静态属性 - 它没有帮助。

生成的代码如下所示:

    this.WindowTitle.DataBindings.Add(new System.Windows.Forms.Binding("Font", this.fontManagerBindingSource, "HeaderText", true));
    // 
    // fontManagerBindingSource
    // 
    this.fontManagerBindingSource.DataSource = typeof(FontDefinitions.FontManager);

这是字体管理器类:

   public class FontManager
    {
        /// <summary>
        /// Gets or sets HeaderText.
        /// </summary>
        public static Font HeaderText
        {
            get { return new Font("Tahoma", 42); }

        }
    }

我做错了什么?什么情况下不能绑定属性?

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    为什么你希望属性是静态的?如果你使它成为非静态的,它就可以工作。

    【讨论】:

    • 如果我在非静态中创建,则不会引发异常,但从不会从我的类中读取该属性。我认为它正在发生,因为该类从未实例化。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 2021-04-09
    • 1970-01-01
    • 2012-06-15
    • 1970-01-01
    相关资源
    最近更新 更多