Я предлагаю вам использовать привязку другим способом.
label.DataBindings.Add(new Binding("Text", test, "Name", false, DataSourceUpdateMode.OnPropertyChanged));
Я надеюсь, что это сработает для вас!
Другой способ обновить свой класс, чтобы использовать измененное значение событий,
class Test
{
private string name;
public string Name
{
get { return name; }
set
{
//Check if you are assigning the same value
if (Equals(name, value))
return;
name = value;
OnNameChanged();
}
public event EventHandler NameChanged;
protected virtual void OnNameChanged()
{
var handler = NameChanged;
if (handler != null)
handler(this, EventArgs.Empty);
}
}
}
В случае, первый один не работает.
Лучшее решение сделать это общий способ,
class Test : INotifyPropertyChanged
{
private string name = "";
public string Name
{
get { return name; }
set { name = value; NotifyPropertyChanged(); }
}
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged()
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("Name"));
}
}
}
Ваш класс должен реализовать интерфейс INotifyPropertyChanged. – LarsTech
[Проверить страницу MSDN] (https://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged (v = vs.110) .aspx) на интерфейсе INotifyPropertyChanged – Steve