我的应用程序是使用 Silverlight 中的 MVVM 架构开发的,并且有以下代码试图从 UI 中检索所有项目(集合)及其相应的子项目,它工作正常,没有任何问题。
public ObservableCollection<DemoViewModel> Items { get; private set; }
foreach (var demoviewmodelitem in DemoViewModel.Items) //Items collection (Count=8)
{
foreach (var item in demoviewmodelitem.SubItems)
{
}
}
现在需求发生了变化,不想在上面的代码中检索所有项目(集合)及其相应的子项目,而是我们只需要在 UI 中检索带有相应子项目的选定项目。为此,我的团队已经更改了代码viewModel 类通过添加一个属性 selectedItem 包含用户选择的项目及其相应的子项目。
当我在 Add Watch 中调试上述代码时,我可以看到 DemoViewModel.selectedItem 包含用户在 UI 中选择的项目(例如 Item6)和相应的子项目。
所以我改变了外部的foreach循环
foreach (var demoviewmodelitem in DemoViewModel.Items) //collection
至
foreach (var demoviewmodelitem in DemoViewModel.selectedItem)//Property
并出现以下错误。我怎样才能摆脱这个错误,并且只想从上面的代码中检索 selecteditem 和相应的子项?
错误:foreach 语句无法对“类名 XXXXXXXXX”类型的变量进行操作,不包含“GetEnumerator”的公共定义
提前致谢