Изменить тему WF4 ActivityDesigner - PullRequest
1 голос
/ 30 ноября 2011

Я хочу изменить свой вид деятельности:

enter image description here

Уже пробовал ActivityDesignerTheme

Нужно сделать это безиспользуя WorkflowViewElement, потому что я не хочу терять его поведение (точка останова, расширение).

Если это невозможно, есть ли способ изменить ActivityDesigner цвет фона заголовка?

1 Ответ

3 голосов
/ 31 марта 2012

@ Will
Меня тоже раздражало поведение по умолчанию заголовка ActivityDesigner при редактировании DisplayName (особенно той части, где он размещает курсор в начале строки). Я использовал Reflector для просмотра (System.Activities.Presentation.dll) при реализации и заметил, что часть этого поведения определена в OnApplyTemplate . Просто переопределив этот метод в моем пользовательском классе конструктора и НЕ вызывая base.OnApplyTemplate (), я смог сделать DisplayName доступным только для чтения в заголовке (в моем случае это было все, что мне было нужно, но я думаю, что можно играть с некоторыми пользовательскими есть обработчики событий и настройка поведения).

@Davi Fiamenghi
Еще немного покопавшись в Reflector в той же сборке, я обнаружил элементы управления, используемые в OnApplyTemplate, определенные в system / Activities / presentation / workflowelementdesignerdefaulttemplate.baml (System.Activities.Presentation.g.resources). Кажется, что это шаблон элемента управления по умолчанию, используемый для ActivityDesigner (). Я думаю, что один из способов изменить цвет заголовка - попытаться «заново создать» этот шаблон в вашем приложении и явно установить его в своем конструкторе пользовательских действий. Конечно, это больше, чем просто копирование, так как оно ссылается на другие ресурсы, определенные в этой сборке.

Надеюсь, это поможет.

...