В настоящее время я работаю над приложением в стиле коричневого поля, он написан с winforms, в качестве подготовки к использованию WPF в более поздней версии, из планов команды, по крайней мере, использовать модель MVCM/Presentation , и связать его с WinForms ...MVVM/Presentation Model With WinForms
я исследовал эту тему, в том числе сообщений в этом месте (которые я очень люблю), когда сводились, главным преимуществом МОФ являются:
- привязывает элементы управления к свойствам в xaml.
- команды привязки для управления объектами в режиме просмотра.
первая функция проста в использовании (в коде) или с общим связующим элементом управления, который связывает все элементы управления в форме.
Вторая функция немного сложнее реализовать, но если вы наследуете все свои элементы управления и добавляете свойство команды (которое инициируется внутренним событием, таким как клик), которое привязывается к экземпляру команды в ViewModel ,
Проблемы, я в настоящее время известно, являются:
- реализации CommandManager, (который будет запускать метод CanInvoke команд, как necessery
- WinForms поддерживает только один уровень: привязки данных. Источника данных, DataMember МОФ является гораздо более гибким.
я упускаю какие-либо другие основные функции, которые WinForms испытывает недостаток по сравнению с МОФ, при попытке реализовать этот шаблон проектирования?
Я уверен, что многие из вас порекомендуют какой-то шаблон MVP, но модель MVVM/Presentation - это путь для меня, потому что я хочу будущую поддержку WPF.
Заранее благодарен, Erik.
Вы считали, что просто используете ElementHost для добавления нового содержимого WPF в существующее приложение WinForm? –
Я, возможно, сделаю это в какой-то момент ... Я подумал о другом вызове: DataTemplates .. вместо использования datatemlates, я буду использовать usercontrol и привязать его снова к объекту на моей модели viewmodel ..:)) На следующей неделе я начну работу над прототипом, кого интересуют мои результаты? – 2009-09-18 16:09:03
Это сообщение может быть полезно для тех, кто ищет реализацию CommandManager: http://stackoverflow.com/questions/1685088/binding-to-commands-in-winforms – Maciej