時間の経過とともに更新される一連のデータを表示するリストボックスを作成しようとしています。私は、単純なリストボックスがあります。INotifyPropertyChanged何が実装されましたか?
<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を設定します。コードビハインドで。リストが初期化され、初期データが正しく表示されます。
"register.Value"が変更されたときにListBoxを更新するには、どうすればよいですか。イベントハンドラは呼び出されますが、イベントには何も登録されていません。
GUIを更新するようにするには、ListBoxまたはObservableCollectionで何かをトリガーする必要があると思います。私は同様の問題の投稿数十を読んだが、それらはすべてあなたがINotofyPropertyChangedを実装したばかりであれば、それはただ自動的に動作することを示しているようだ。
次のステップは何ですか?
未完成の質問のようです。 –