1
有人可以給我一個例子如何將枚舉綁定到Windows Phone 8上的listpicker?在Windows Phone 8中,如何綁定enum和listpicker
在因特網上找不到任何東西......並且缺少有關此工具包的文檔將無濟於事。
謝謝
有人可以給我一個例子如何將枚舉綁定到Windows Phone 8上的listpicker?在Windows Phone 8中,如何綁定enum和listpicker
在因特網上找不到任何東西......並且缺少有關此工具包的文檔將無濟於事。
謝謝
綁定很容易。唯一的問題是,擴展方法GetNames()
在Windows Phone中不可用。但是,你可以寫一個。
public static class EnumExtensions {
public static IEnumerable<string> GetNames<TEnum>() where TEnum : struct {
var type = typeof(TEnum);
if (!type.IsEnum)
throw new ArgumentException(String.Format("Type '{0}' is not an enum", type.Name));
return (
from field in type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static)
where field.IsLiteral
select field.Name)
.ToList<string>();
}
}
一旦你有了它,很容易將它綁定到任何列表。
public enum MyEnum {
v1, v2, v3
}
// Binding
myListPicker.ItemsSource = EnumExtensions.GetNames<MyEnum>();
// Getting selected value
var myEnum = (MyEnum)Enum.Parse(typeof(MyEnum), myListPicker.SelectedItem.ToString());