所以我的WP7应用程序上有一个详细页面,显示了一个列表框,显示了我的应用程序中的一些数据。
在代码隐藏中,我将listbox itemssource =设置为一个对象集合。到目前为止很简单。我也有几个文本框和一个按钮在同一个屏幕上,让我添加到该对象集合。
理想情况下,当我导航到该页面时,它应该在列表框中显示该集合的内容。如果我单击添加,它应该将另一个对象添加到集合中,然后刷新列表框以显示新更新的内容。
我在onNavigatedTo事件中设置了itemsSource,并在我的按钮点击事件中设置了itemsSource。我的按钮单击事件只是从文本框中提取文本,使用文本创建我的对象实例,将对象添加到集合中,然后重新设置itemsSource
问题是,当我点击后退按钮并重新进入页面时,列表框才会更新。在我的按钮点击事件上设置itemSource似乎没有做任何事情 - 列表框不会刷新。
有谁知道如何刷新列表框?
答案 0 :(得分:4)
如果使用ObservableCollection,列表框将自动反映添加和删除。
如果您尝试在没有ObservableCollection的情况下执行此操作,我会看到如果您在重新分配新列表之前将ItemsSource设置为null,这将有效。