我有一个Silverlight(WP7)项目,并希望将一个枚举绑定到一个列表框。这是一个带有自定义值的枚举,坐在类库中。我该怎么做呢?如何将枚举绑定到我的列表框?
回答
在Silverlight(WP7)中,Enum.GetNames()方法不可用。您可以使用以下内容
public class Enum<T>
{
public static IEnumerable<string> GetNames()
{
var type = typeof(T);
if (!type.IsEnum)
throw new ArgumentException("Type '" + type.Name + "' is not an enum");
return (
from field in type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static)
where field.IsLiteral
select field.Name).ToList<string>();
}
}
静态方法将返回可枚举的字符串集合。你可以将它绑定到一个列表框的itemssource。像
this.listBox1.ItemSource = Enum<Colors>.GetNames();
然后,接下来的问题是,如何将具有绑定的选定枚举值分配回视图模型中的属性?我一直在寻找答案,但找不到任何资源,任何方向指出赞赏。谢谢。 – K2so 2010-11-22 04:54:24
@ K2so您可以将视图模型中的属性绑定到ListBox的SelectedItem属性。检查以下样本可以帮助你。 https://sites.google.com/site/html5tutorials/BindingEnum.zip – 2010-11-22 05:27:15
请注意,如果我在我的PhoneyTools项目中借用了此代码和属性,以便人们可以使用它? http://phoney.codeplex.com? – 2011-03-24 07:15:36
转换枚举到列表(或类似) - 按照How do I convert an enum to a list in C#?
然后结合到经转换的列表。
- 1. 绑定枚举[]以列表框
- 2. XAML绑定列表枚举
- 3. 如何将枚举绑定到组合框
- 4. 如何使用objectdatasource将枚举绑定到winform组合框
- 5. 如何枚举的泛型列表绑定到一个GridView
- 6. 绑定标志枚举包含列表框复选框
- 7. WPF绑定到复选框列表的枚举列表(或类似)
- 8. WPF:无法绑定DataGrid枚举列表
- 9. 模型绑定枚举标志列表
- 10. MVVM将枚举绑定到Combobox
- 11. C#将其他值绑定到枚举
- 12. 将TypeConverter直接绑定到枚举
- 13. 将枚举数据绑定到WPF + MVVM中的组合框中
- 14. 将复选框绑定到int数组/ MVC中的枚举
- 15. Silverlight将数据绑定到一个枚举的组合框
- 16. 绑定文本框的枚举视图
- 17. WPF如何与描述枚举绑定到组合框
- 18. 如何将枚举绑定到WP中的listpicker?
- 19. 组合框绑定到枚举,我做错了什么?
- 20. Silverlight - 枚举绑定
- 21. 绑定枚举AspxListBox
- 22. 以编程方式将枚举类型绑定到组合框
- 23. 将枚举绑定到DataGrid组合框视图
- 24. 将枚举类型绑定到文本框
- 25. 如何将我的XML数据绑定到列表框?
- 26. 如何将此集合绑定到我的列表框
- 27. 数据绑定枚举组合框
- 28. WPF组合框与枚举绑定
- 29. 数据绑定枚举复选框C#
- 30. 使用枚举绑定组合框selectedvalue
可能的重复[数据绑定枚举属性到WPF中的ComboBox](http://stackoverflow.com/questions/58743/databinding-an-enum-property-to-a-combobox-in-wpf) – Andrey 2010-10-14 17:46:36