我有含有枚舉以下(舉例):SortedOrder枚舉爲列表框控制
clmn=543,
tclk=432, ,
tolf=876,
frol=654
我具有結合該枚舉鍵的ItemsSource按排序順序列表框控件的屬性。 Enum應該按值排序。
請幫助
我有含有枚舉以下(舉例):SortedOrder枚舉爲列表框控制
clmn=543,
tclk=432, ,
tolf=876,
frol=654
我具有結合該枚舉鍵的ItemsSource按排序順序列表框控件的屬性。 Enum應該按值排序。
請幫助
'代碼排序枚舉:
public static SortedList<int, string> GetEnumDataSource<T>()
{
Type myEnumType = typeof(T);
SortedList<int, string> returnCollection = new SortedList<int, string>();
try
{
if (myEnumType.BaseType == typeof(Enum))
{
string[] enumNames = Enum.GetNames(myEnumType);
int enumLength = enumNames.Length - 1;
for (int i = 0; i <= enumLength; i++)
{
returnCollection.Add(Convert.ToInt32(Enum.Parse(myEnumType, enumNames[i])), enumNames[i]);
}
}
}
catch (Exception exception1)
{
return null;
}
return returnCollection;
}
' 代碼以枚舉綁定到下拉列表框:
public void BindBox()
{
SortedList<int, string> phoneTypes = null;
phoneTypes = GetEnumDataSource<PhoneNumberType>();
if ((phoneTypes != null)) {
dropdownctrl.DataSource = phoneTypes;
dropdownctrl.DataValueField = "Key";
dropdownctrl.DataTextField = "Value";
dropdownctrl.DataBind();
}
}
MemberInfo[] memberInfos = typeof(MyEnum)
.GetMembers(BindingFlags.Public | BindingFlags.Static);
mylistBox.ItemSource = memberInfos.Select(x => x.Name).ToArray();
這段代碼獲得MyEnum值並對它們進行分類,希望它能幫助你。
var values = typeof(MyEnum).GetEnumValues();
Array.Sort(values);
:它會按枚舉值枚舉枚舉嗎? – user184842
是的,GetEnumDataSource函數將對枚舉值進行排序並返回到調用函數BindBox()。 –
謝謝羅米爾。它解決了我的問題 – user184842