Я пытаюсь создать список, в котором отображается набор данных, которые будут обновляться с течением времени.У меня есть простой список:
<ListBox Name="lbRegisters" ItemsSource="{Binding}" />
И я определил класс для своих объектов:
public class register : INotifyPropertyChanged
{
private int address;
public int Address { get { return address; } }
private int value;
public int Value
{
get{ return value; }
set{
this.value = value;
OnValueChanged("Value");
}
}
public register(int a)
{
address = a;
value = 0;
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnValueChanged(string name){
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(name));
}
public override string ToString()
{
return address + ": " + value;
}
}
И я храню их список в ObservableCollection .Затем установите ListBox.ItemsSource = registerslist;в CodeBehind.Список инициализируется, и исходные данные отображаются правильно.
Теперь, что мне нужно сделать, чтобы мой ListBox обновлялся при изменении «register.Value».Обработчик события вызывается, но на событие ничего не подписано.
Я думаю, мне нужно вызвать что-то в ListBox или ObservableCollection, чтобы сообщить GUI об обновлении.Я прочитал десятки постов с похожей проблемой, но все они, похоже, указывают на то, что, как только вы внедрили INotofyPropertyChanged, это просто автоматически работает.
Каков следующий шаг?