All configuration for the mapping profile is saved to disk as an xml file. As a result all configured properties must be serialized to and from string values at some point in time. When commands, gestures and modifiers require complex types a method must be used to map the values of those properties to and from string values.
To create a custom property converter, the IPropertyConverter interface must be implemented and the PropertyConverterAttribute must be applied.