我的 WinRT 应用程序中有一个使用自定义 ListView 的 ListView。根据 Microsoft 的建议,自定义 ListView 类只是覆盖 PrepareContainerForItemOverride() 以便我可以有交替的背景:
http://msdn.microsoft.com/en-us/library/ms750769%28v=VS.85%29.aspx
如那里所述,当从列表中删除项目时,它不会自动更新备用背景。它为此提供了一个解决方案:
ICollectionView dataView =
CollectionViewSource.GetDefaultView(theListView.ItemsSource);
dataView.Refresh();
但是,CollectionViewSource.GetDefaultView 位于 System.Windows.Data - WinRT 不可用。
我已经尝试在文档和网络上搜索替代方案,但我一直在偶然发现 WPF 代码。我找不到任何刷新数据的方法 - 目前我所能想到的就是删除所有数据并重新添加它,这显然很疯狂。