2013-10-01 6 views
0

Мое приложение разработано с использованием архитектуры 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»

Заранее спасибо

ответ

0

Внешний контур должен быть удален, а остальные (ранее внутренний) цикл должен просто выглядеть следующим образом:

foreach (var item in DemoViewModel.selectedItem.SubItems) 
{ 

} 
+0

Я только изменил внешний цикл Еогеаспа в моем выше code.foreach (вар demoviewmodelitem в DemoViewModel.selectedItem) // здесь SelectedItem этого свойства не коллекция. – user2580179

Смежные вопросы