In creating a Silverlight 2 UserControl, I had a need to include a Uri parameter, so I added a property.
class MyControl : UserControl { ... public Uri Source {get;set;} ... }
That compiled and ran just fine but when I tried to set the value via XAML, I got an AG_E_PARSER_BAD_PROPERTY_VALUE error. The property was missing a type converter, a class that converts between a string and the property value. I added a using directive and the attribute to the property specifying to use the built-in UriTypeConverter:
using System.ComponentModel;
using
class MyControl : UserControl { ... [TypeConverter(typeof(UriTypeConverter))] public Uri Source {get;set;} ... }
That fixed it!