属性更改未更新绑定控件属性

时间:2019-11-27 04:54:27

标签: c# winforms property-binding

我已经使用Winforms和C#制作了一个测试应用程序。 2文本框的Text属性绑定到相同的custome属性。 自定义属性实现事件PropertyChangedEventHandler,如this post中所述。

问题在于,然后我修改了一个文本框Taxt值,另一个也被修改了。但是如果我修改了它们绑定的属性,那不是真的。

代码如下:

public partial class Form1 : Form
{
    private string _text;

    public string TextProperty
    {
        get
        {
            return _text;
        }
        set
        {
            _text = value;
            InvokePropertyChanged();
        }
    }

    #region implement event

    private event PropertyChangedEventHandler PropertyChanged;

    private void InvokePropertyChanged([CallerMemberName]string propertyName = null)
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }

    #endregion implement event

    public Form1()
    {
        InitializeComponent();
        textBox1.DataBindings.Add("Text", this, "TextProperty", false, DataSourceUpdateMode.OnPropertyChanged);
        textBox2.DataBindings.Add("Text", this, "TextProperty", false, DataSourceUpdateMode.OnPropertyChanged);
    }

    private void button1_Click(object sender, EventArgs e)
    {
        TextProperty = "text is not changin in textBox Controls";
    }
}

有人可以帮助您理解此问题。这里 为什么TextProperty = "text is not changin in textBox Controls";不更新控件?

0 个答案:

没有答案