Alexandra Rusina discusses the new ICustomTypeProvider interface introduced with Silverlight 5 that enables data binding to objects the structure of which cannot be known until runtime.
Source: Silverlight SDK
When you implement the ICustomTypeProvider interface you need to return your own Type. Silverlight’s data binding engine now checks whether an object implements this interface or not. If the object does implement ICustomTypeProvider, the data binding engine uses your custom type instead of the System.Type.