簡體   English   中英

如何將枚舉綁定到 ComboBox 並在 C# 中隱藏某個值

[英]How do I bind an enum to a ComboBox and hide a certain value in C#

我有一個枚舉形式:

public enum BlueOrRed { None, Blue, Red}

目前我將其綁定到代碼中的 ComboBox,因為綁定取決於另一個 ComboBox 中的選擇:

if (OtherComboBox.SelectedItem == Color.BlueOrRed)
{
    ThisComboBOx.ItemsSource = Enum.GetValues(typeof(BlueOrRed));
}
else ...

我需要這個選項,BlueOrRed 在后面的代碼中也可以是 None 。 但我不想在 ComboBox 中顯示該選項。

我知道一個類似的問題,但不幸的是,這個答案並不真正適用於我的問題。

GetValues方法將所有這些常量作為數組返回。 而是創建一個自定義列表。

ThisComboBOx.ItemsSource = new List<BlueOrRed> {BlueOrRed.Blue, BlueOrRed.Red};

如果您不想自己創建列表,也可以使用 Linq 排除None常量。

ThisComboBOx.ItemsSource = ((BlueOrRed[]) Enum.GetValues(typeof(BlueOrRed))).Except(new[] { BlueOrRed.None });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM