プロパティグリッドに、「文字列」値を表示するが「int」値を返すドロップダウンリストを表示できるようにしたいと考えています。
たとえば、次のクラスを取得したとします。
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;
}
}
プロパティグリッドコントロールでの私のクラスの使用は次のとおりです
public class MyObjectProperty
{
[TypeConverter(typeof(MyObjectOptions))]
public int Id
{
get { return this.id; }
set { this.id = value; }
}
}
ご覧のとおり、オブジェクトのIDを保存したいのですが、ドロップダウンリストにその名前を表示したい...ハッシュテーブルを使用しようとしましたが、うまくいきません...
ところで-私は.Netのバージョン3.5を使用していますが、WinFormのみを使用しています(WPFではありません)。