Ejemplo n.º 1
0
        public override object ConvertFrom(ITypeDescriptorContext typeDescriptorContext, CultureInfo cultureInfo, object value)
        {
            String s = value as string;

            if (null == s)
            {
                throw new ArgumentException("XAML can only convert from Strings");
            }

            ColorElement2 e = new ColorElement2();

            IXamlSchemaContextProvider schemaContextProvider = (IXamlSchemaContextProvider)typeDescriptorContext.GetService(typeof(IXamlSchemaContextProvider));
            IAmbientProvider           iAmbient = (IAmbientProvider)typeDescriptorContext.GetService(typeof(IAmbientProvider));

            XamlType             ambientLabel = schemaContextProvider.SchemaContext.GetXamlType(typeof(DerivedFromHasAmbientLabel));
            XamlMember           label        = ambientLabel.GetMember("Num");
            AmbientPropertyValue apVal        = iAmbient.GetFirstAmbientValue(null, label);

            if (apVal == null)
            {
                e.ColorName = s;
            }
            else
            {
                e.ColorName = s + "-" + apVal.Value.ToString();
            }
            return(e);
        }
Ejemplo n.º 2
0
        public override object ConvertTo(ITypeDescriptorContext typeDescriptorContext, CultureInfo cultureInfo, object value, Type destinationType)
        {
            ColorElement2 e = value as ColorElement2;

            return(e.ColorName);
        }