Установка значения свойства зависимости по умолчанию во время разработки в пользовательском действии Windows Workflow Foundation
-
19-09-2019 - |
Вопрос
Я внедряю пользовательский рабочий процесс и действия для повторного использования в нескольких проектах и пытаюсь сделать их максимально простыми в использовании.В этом рабочем процессе у меня есть свойство с именем 'userId', которое я хотел бы привязать к dependencyproperty в одном из моих действий.В настоящее время я могу привязать его во время разработки, явно выполняя поиск свойства каждый раз, когда добавляю одно из этих действий в рабочий процесс, но я бы хотел, чтобы это действие привязывалось автоматически.
Насколько я знаю (поправьте меня, если я ошибаюсь), чтобы привязать свойство зависимости во время разработки, мне нужно указать строку вида "Activity=NameOfWorkflow, Path=userId" к тегу метаданных DefaultBindingProperty DefaultBindingProperty, и я бы хотел, чтобы имя рабочего процесса было каким-то образом завершено.Есть какой-нибудь способ сделать это?
Спасибо
Решение
Наконец-то мне удалось добиться этого, присоединив ActivityToolboxItem к Activity и переопределив в нем метод, который создает экземпляр, показанный в конструкторе.Я использовал объект ActivityBind для привязки dependencyproperty к свойству workflow.Чтобы получить экземпляр рабочего процесса, я просто искал предка для своей активности, вызывая act.Parent до тех пор, пока у activity не было родительского элемента (и, следовательно, самого StateMachineWorkflowActivity)