0

Winforms と C# を使用してテスト アプリケーションを作成しました。2 つのテキストボックスの Text プロパティは、同じカスタム プロパティにバインドされています。カスタム プロパティは、この投稿で説明されているように、イベント PropertyChangedEventHandler を実装します。

問題は、テキストボックスの Taxt 値の 1 つを変更すると、もう 1 つも変更されることです。しかし、それらがバインドされているプロパティを変更すると、そうではありません。

コードは次のとおりです。

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";コントロールを更新しないのですか?

4

0 に答える 0