Я пытаюсь интегрировать мое текущее приложение WPF / MVVM в Workflow Foundation 4.0.
В настоящее время один из моих методов ViewModel вызывает мой пример CodeActivity, отправляя ему некоторые параметры.
Внутри моегоМетод выполнения CodeActivity Мне нужно вызвать некоторые методы из вызывающей ViewModel.Я хотел бы знать, что лучший способ сделать это.До сих пор я определил три возможных способа:
- Отправка моего экземпляра ViewModel в качестве входного аргумента моей CodeActivity
- Отправка моего экземпляра ViewModel через конструктор в моей CodeActivity, например общедоступная MyCodeActivity (ViewModelvm)
- Оберните мой CodeActivity в WorkflowApplication и отправьте мой экземпляр ViewModel в качестве расширения, используя SynchronizationContext
Пока что я протестировал варианты 2 и 3, и они, очевидно, работают хорошо.
Каков оптимальный способ сделать это, чтобы избежать таких проблем, как проблемы с синхронизацией потоков или другие?
Заранее спасибо,
Редактировать: Просто упомянутьВозможный сценарий: если пользователь выбирает значение 'X' из заданного раскрывающегося списка в моем представлении, мне нужно добавить объект childA и childB к коллекции ObservableColject, содержащейся в ParentObject, предоставляемом через открытое свойство в моей модели представления.Логика для создания дочерних объектов и добавления их к родителю находится в моей ViewModel.Но я хочу, чтобы Workflow содержал само бизнес-правило.