|
Взаимодействие ViewModels
|
|||
---|---|---|---|
#18+
На форме (WPF) DatePicker, кнопки Сохранить, Обновить и TabControl. Один tabitem - winforms usercontrol, другой - wpf usercontrol. Думаю сделать 2 ViewModel - один для MainWindow, второй - для wpf usercontrol. Натолкните, пожалуйста, на мысль, как организовать их взаимодействие, а именно: при изменении свойства из MainViewModel, привязанного к DatePicker, изменяются свойства в UserControlViewModel (если активен TabItem с wpf usercontrol), если активен TabItem с winforms usercontrol - надо уведомить его. при нажатии по кнопке Сохранить - данные сохраняются то из одного TabItem, то из второго, аналогичное поведение с кнопкой Сохранить. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2012, 21:08 |
|
Взаимодействие ViewModels
|
|||
---|---|---|---|
#18+
Nicky_NНа форме (WPF) DatePicker, кнопки Сохранить, Обновить и TabControl. Один tabitem - winforms usercontrol, другой - wpf usercontrol. Думаю сделать 2 ViewModel - один для MainWindow, второй - для wpf usercontrol. Натолкните, пожалуйста, на мысль, как организовать их взаимодействие, а именно: при изменении свойства из MainViewModel, привязанного к DatePicker, изменяются свойства в UserControlViewModel (если активен TabItem с wpf usercontrol), если активен TabItem с winforms usercontrol - надо уведомить его. при нажатии по кнопке Сохранить - данные сохраняются то из одного TabItem, то из второго, аналогичное поведение с кнопкой Сохранить. См prism. 1. Публиковать событие при изменении свойства в DatePicker 2. См CompositeCommand ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2012, 09:17 |
|
Взаимодействие ViewModels
|
|||
---|---|---|---|
#18+
1. По поводу организации уведомлений появилась идея использовать INotifyPropertyChanged MainWindowViewModel: в WinFormsChildControl и WPFChildControlViewModel создать по свойству CurrentDate и изменять его при изменении CurrentDate из MainWindowViewModel. Вопрос теперь как подписаться на событие PropertyChanged MainWindowViewModel. мой вариант с использованием события Loaded MainWindowControl: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
Код рабочий, однако DateTimePicker приходится передернуть, чтоб свойство изменилось. Прошу альтернативные мнения (только без IoC-контейнеров). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2012, 17:39 |
|
Взаимодействие ViewModels
|
|||
---|---|---|---|
#18+
Ошибся, надо так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2012, 20:32 |
|
|
start [/forum/topic.php?fid=21&fpage=34&tid=1441579]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 301ms |
total: | 424ms |
0 / 0 |