問題は私がこの列挙型を持っていることですが、コンボボックスに列挙型の値を表示させたくないということです。選択されたかActiveAndSelectedが、私は列挙型の値ごとにDescriptionPropertyを表示するコンボボックスの代わりに、アクティブ表示、でそうWPFバインディングコンボボックスからenumへ(ひねりあり)
public enum Mode
{
[Description("Display active only")]
Active,
[Description("Display selected only")]
Selected,
[Description("Display active and selected")]
ActiveAndSelected
}
:これが列挙型です。
public static string GetDescription(this Enum enumObj)
{
FieldInfo fieldInfo =
enumObj.GetType().GetField(enumObj.ToString());
object[] attribArray = fieldInfo.GetCustomAttributes(false);
if (attribArray.Length == 0)
{
return enumObj.ToString();
}
else
{
DescriptionAttribute attrib =
attribArray[0] as DescriptionAttribute;
return attrib.Description;
}
}
だから私は、コンボボックスに列挙型をバインドし、それがのgetDescription拡張メソッドとの内容だ示すことができる方法がある:私は、列挙型のためのgetDescription(と呼ばれる拡張メソッド)を持っていますか?
ありがとうございます!
おい、反射は、特にそれがGUIを表示するのに要する時間に比べて、_that_遅いありません。私はそれが問題であるとは思わないでしょう。 –
さて、私の言葉をそれに服用しないでください。上で参照された記事はそれが懸念だと言います。 –
しかし、プロフィールの結果は引用しません。著者はそれについて心配していましたが、実際には問題ではありませんでした。 –