Provide a possibility to launch highly customizable forms by receiving some sort of Markup file.
Allow the developer to dynamically initialize the values of the fields inside the form, capture user input and use it inside workflows.
Find a way for users to globally customize and design the workflow through a StyleSheet (basically, like a .css file for a HTML page)
All objectives above are achieved by leveraging the features of the Windows Presentation Foundation framework. This way, we can receive as input a custom XAML (or Json) mark-up from which we can generate a Form that we can further initialize with whatever data the developer passes to our custom activity.
This means that, inside our forms, we can use any type of UI element (also called controls) that we could normally use in a standard WPF form. Since the WPF library is quite extensive and provides plenty of controls and configuration options, we can make sure that the users of this custom activity are provided with all the flexibility and customization possibilities they need.
Basically, the custom activity is designed to receive a XAML file with a Grid control as its parent element which will contain all the controls of our current page. This mark-up is passed to a WPF window and the form gets launched. The developer can optionally pass a XAML file which contains a ResourceDictionary control. This control can contain styles which will be applied to the entire form.
In order to enhance the number of possible elements in our forms, we also include the Extended WPF Toolkit in this package. Therefore, all controls in this library can be used in our forms.
This package provides some minimal visual enhancements in addition to the standard WPF look. This is done by using the MetroLight theme.
For more details, please see the attached documentation.
More information about this approach can be found here: