Сборка моего первого приложения SL MVVM (Silverlight4 RC) и некоторые проблемы, которые я не понимаю.
Имея фон WPF, я не знаю, что здесь происходит:
ViewModel имеет несколько свойств, одно из которых называется SelectedRecord. Это свойство get only и определяется следующим образом:
public Culture SelectedRecord {
get { return culturesView.View.CurrentItem as Culture; } }
Как вы можете видеть, он получает текущее значение CollectionViewSource (называемого CultureView). Поэтому, если я выбираю Культуру, SelectedRecord (получает значение непосредственно из CollectionViewSource), как и ожидалось. (На самом деле существует элемент управления сеткой данных, связанный с CollectionViewSource, следовательно, можно изменить выбранный элемент)
OK. Теперь для просмотра. Есть несколько представлений, которые обращаются к этой ViewModel, и, в частности, есть одно, которое показывает значения вышеупомянутого свойства SelectedRecord (назовем его EditView). Для отображения этого EditView есть кнопка (свойство которой Command связано с ICommand в ViewModel), которая работает (в первый раз), как и ожидалось.
Это означает:
1-я попытка: я выбираю запись, переключаюсь на EditView, результат: отображаются выбранные значения записи (как и ожидалось !!).
2-я попытка: переключиться обратно на сетку данных, выбрать другую запись, переключиться на EditView, результат: значения предыдущей показанной записи будут показаны снова !!! ПОЧЕМУ ??
Сначала я подумал, что в SelectedRecord задано неверное значение, но я ошибся: оно имеет правильное значение! Так и должно быть показано!?
Что мне не хватает? В WPF это будет работать !!
Заранее спасибо