不在XAML树中时Silverlight ListBox不更新

时间:2012-11-27 17:24:29

标签: c# silverlight xaml listbox observablecollection

问题的简化版本。所以专注于技术问题,而不是用户友好性。 ;)

我有一个填充了ObservableCollection项目的列表框。 它在我的第一个视图中显示。

通过选择列表中的项目,用户转到另一个视图。 我交换了这个视图,所以第一个不在xaml树中。

在第二个视图中,他们可以执行操作。 其中一个操作使项目远离顶部列表(例如将项目传递给另一个用户)。

第一个视图侦听该事件,并可以从列表中删除该项。 Items.Remove(项目) 问题是该项目并不总是从ListBox中消失(但它来自底层列表,我已经通过调试检查)。我认为这可能与视图在更新集合时不显示有关。我已经测试了将SelectedItem设置为null,认为选择可能会在删除后保留它,但它没有任何区别。

这是一个已知的限制,必须可见才能使列表框更新生效吗?

我可以触发一些东西让observablecollection重新发出通知吗?

0 个答案:

没有答案