Windows Vista Beta | WinVistaBeta.com - Message | Use my custom TypeDescriptor to obtains default Value on property in

September 07, 2008  
Subject: Use my custom TypeDescriptor to obtains default Value on property in
Group: microsoft.public.windows.developer.winfx.avalon
Date: 4/14/2008 4:14:16 AM
From: azerty [Email Address Protection]

Hello

I just create an attached string property on my own class. I want use
my own CustomTypeDescriptor on this property to show a comboBox editor
in XAML Property Editor.

To do this : the declaration of my property seems like this :

[TypeConverter(typeof(MyNamePropertyConverter))]
public static string GetMyName(DependencyObject obj)
{
return (string)obj.GetValue(MyNameProperty);
}

[TypeConverter(typeof(MyNamePropertyConverter))]
public static void SetMyName(DependencyObject obj, string
value)
{
obj.SetValue(MyNameProperty, value);
}

and MyNamePropertyConverter seems like this :

class MyNamePropertyConverter: TypeConverter
{
public override bool
GetStandardValuesExclusive(ITypeDescriptorContext context)
{
return false;
}
public override bool
GetStandardValuesSupported(ITypeDescriptorContext context)
{
return true;
}

public override StandardValuesCollection
GetStandardValues(ITypeDescriptorContext context)
{
List<string> result = new List<string>();

// context.Instance Is null
//
// context supports IServiceProvider
// Theses contracts seems provide :
// * IMarkupExtensionTracker
// * IIdentityProviderService
// * IXamlTypeResolverProvider
// * MarkupFormatting
// but nothing is correct for me ...
//
return new StandardValuesCollection(result);
}
}


In Visual Studio 2008, the xaml Property Descryptor give me the
comboBox editor !!

BUT I want give a dynamic standard value based on the current
Instance !!!!

How can I find the current instance in GetStandardValues ???

thanks a lot for your help !




Back