にEnum
バインドしている がありComboBox
ます。
しかし、コンボボックス項目に 1 つの列挙値を表示したくありません。
バインド後に削除しようとすると、エラーがスローされます。
cmbDisplayUnit.Items.Remove(item);
列挙型にバインドしても、列挙型の値の 1 つを削除または少なくとも非表示にすることは可能ですか?
にEnum
バインドしている がありComboBox
ます。
しかし、コンボボックス項目に 1 つの列挙値を表示したくありません。
バインド後に削除しようとすると、エラーがスローされます。
cmbDisplayUnit.Items.Remove(item);
列挙型にバインドしても、列挙型の値の 1 つを削除または少なくとも非表示にすることは可能ですか?
このMSDNフォーラムの記事を見ると、必要なことを実行する方法の例が示されています。ソロッコの答えを参照してください。
上記のリンクから変更:
string[] TestNames = Enum.GetNames(typeof(SampleEnumUnits));
var list = from test in TestNames where test != "Enum you wish to remove" select Enum.Parse(typeof(SampleEnumUnits), test);
cmbDisplayUnit.ItemsSource = list;
これが必要だと思います:
cmbDisplayUnit.Items.Remove((int)item); // I assume item is enum variable