【发布时间】:2011-06-07 15:26:38
【问题描述】:
我正在使用带有自定义 ItemsSource 的 ListBox:
this.ListOfPersonsListBox.ItemsSource = (List<Person>)ListOfPersons.AllPersons;
ListOfPersons 是一个静态类,因此它不能实现 INotifyPropertyChanged 或 IObservableCollection。
更新列表后重绘我的 ListBox 的最简单方法是什么?我当前的代码有效,但我想找到一个更清洁的解决方案:
private void SyncButton_Click(object sender, EventArgs e)
{
ListOfPersons.Sync();
this.ListOfPersonsListBox.ItemsSource = null;
this.ListOfPersonsListBox.ItemsSource = ListOfPersons.AllPersons;
}
【问题讨论】:
-
你能解释一下为什么 ListOfPersons 需要是一个静态类吗?如果只是为了方便在多个页面之间访问,请考虑将其设为应用程序范围的属性。然后你可以使用 ObservableCollection 作为keyboardP 提到的。
-
@JoshEarl 你能解释一下“应用程序范围的属性”是什么意思吗?我是初学者,从来没有听说过这样的事情......
标签: c# silverlight xaml windows-phone-7