Мое приложение разработано с использованием архитектуры MVVM в Silverlight и имеет ниже фрагмент кода, который пытается получить все элементы (коллекции) и соответствующие им элементы из пользовательского интерфейса, и он отлично работает без каких-либо проблем.Наблюдаемые коллекции в Silverlight
public ObservableCollection<DemoViewModel> Items { get; private set; }
foreach (var demoviewmodelitem in DemoViewModel.Items) //Items collection (Count=8)
{
foreach (var item in demoviewmodelitem.SubItems)
{
}
}
Теперь требование изменяется и не хотят, чтобы извлечь все элементы (коллекцию) и их соответствующие подразделы в приведенной выше коде вместо этого мы должны просто получить выбранный элемент пользовательского интерфейса с соответствующим subitems.For этого требованием моя команда изменила код в классе viewModel, добавив свойство selectedItem, которое содержит элемент, выбранный пользователем и соответствующие им подпункты.
Когда я отлаживаю приведенный выше код в окне «Добавить наблюдение», я вижу, что DemoViewModel.selectedItem содержит выбранный элемент пользователем в пользовательском интерфейсе (например, Item6) и соответствующие подпункты.
Так что я изменил внешний цикл Еогеасп от
foreach (var demoviewmodelitem in DemoViewModel.Items) //collection
в
foreach (var demoviewmodelitem in DemoViewModel.selectedItem)//Property
и получить следующее сообщение об ошибке. Как я могу избавиться от этой ошибки и хочу получить только selecteditem и соответствующие подэлементы из вышеуказанного кода?
Ошибка: оператор Еогеасп не может работать с переменными типа «имя класса XXXXXXXXX» не содержит публичное определение «GetEnumerator»
Заранее спасибо
Я только изменил внешний цикл Еогеаспа в моем выше code.foreach (вар demoviewmodelitem в DemoViewModel.selectedItem) // здесь SelectedItem этого свойства не коллекция. – user2580179