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