Ich möchte in einem propertygrid eine Dropdown-Liste zeigen, die einige "String" -Wert zeigen aber einen "int" Wert zurückgeben.. Net PropertyGrid DropDownList - Rückgabewert anders als Show-Wert
Zum Beispiel lassen setze ich diese Klasse bekam:
public class MyObjectOptions : StringConverter
{
public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
{
return true;
}
public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
MyObjectCollection mm = new MyObjectCollection();
List<String> names = new List<String>
foreach (MyObject m in mm)
{
m.Id // Need to store this somewhere ...
names.Add(m.Name);
}
return new StandardValuesCollection(name);
}
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
{
return true;
}
}
Hier ist meine Klasse Verwendung in der Propertysteuer
public class MyObjectProperty
{
[TypeConverter(typeof(MyObjectOptions))]
public int Id
{
get { return this.id; }
set { this.id = value; }
}
}
Wie Sie sehen können, möchte ich die ID der speichern, Objekt, aber ich möchte seinen Namen in der Dropdown-Liste zeigen ... Ich versuche, eine Hashtabelle verwenden, aber es funktioniert nicht ...
BTW - Ich verwende die Version 3.5 von .Net, aber ich benutze nur WinForm (nicht WPF).