Приветствую.
Есть WPF форма, на ней список
<ListView x:Name="FilmListView"
ItemsSource="{Binding Path=FilmList}"
ItemTemplate="{StaticResource FilmView}"
SelectedItem="{Binding Path=SelectedFilm, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged}"
IsSynchronizedWithCurrentItem="True"/>
список привязан к ObservableCollection из объектов QFilm, с какими-то там полями базовых типов.
Начал делать поля для редактирования свойств.
<WrapPanel>
<TextBlock Text="Name: " />
<TextBlock Text="{Binding Path=SelectedFilm.Name, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" />
</WrapPanel>
<WrapPanel>
<TextBlock Text="Name: " />
<TextBox Text="{Binding Path=EditFilm.Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</WrapPanel>
Т.е. при выделении строки в списке соответствующий объект помещается в SelectedFilm. EditFilm должен как-то получить данные из этого объекта и по команде "сохранить" скопировать их обратно.
Не получается. События GUI использовать нельзя, ибо MVVM.
Пытался подписать EditFilm.Copy(SelectedFilm) через выделенный метод на SelectionFilm.PropertyChanged - не помогло, т.к. при смене выделения не срабатывает это событие (у QFilm реализован INPC и метод Copy, напрямую присваивающий свойства в обход Notify интерфейса).
Что делать? Обычно пытаюсь сам разобраться, но тут - ступор и непонятно куда рыть. Архитектурная, так-сказать, проблемка.
И, да, хотелось бы без использования сторонних библиотек и проч. Уверен есть до идиотизма простое решение, но я его просто в упор не вижу.