J'essaie d'utiliser une grille de propriétés pour afficher des données. Je dois écrire StringConverters pour mes constantes de chaînes prédéfinies afin qu'elles puissent être affichées dans une zone de liste déroulante. Envisager une liste de couleurs et une autre liste d'angles 0,90,180,270StringConverter GetStandardValueCollection
Il y a beaucoup de ces listes que je veux afficher sur la grille.
Je vous écris de nouvelles classes provenant de StringConverters et GetStandardValues prépondérants
class AngleConverter : StringConverter
{
string[] Units = { "0", "90", "180","270" };
public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
{
return true;
}
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
return new StandardValuesCollection(Units);
}
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
{
return true;
}
}
Classe UnitConverter: ... Même code, sauf modification du tableau de chaînes. J'utilise cette classe avant la propriété comme [TypeConverter (typeof (AngleConverter))]. Je dois créer une nouvelle classe si je veux ajouter une liste de chaînes à afficher dans une zone de liste sur la grille.
Existe-t-il un moyen générique de le faire sans créer de nouvelles classes à chaque fois.
Merci --Hari