我有一個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. 綁定枚舉[]以列表框
- 3. 組合框列綁定到枚舉
- 4. XAML綁定列表枚舉
- 5. 如何將枚舉綁定到下拉列表?
- 6. 如何將下拉列表的枚舉類型綁定到下拉列表?
- 7. 如何使用objectdatasource將枚舉綁定到winform組合框
- 8. 如何將枚舉綁定到組合框
- 9. 如何枚舉的泛型列表綁定到一個GridView
- 10. 綁定的TabControl到枚舉
- 11. 如何將我的對象列表綁定到列表框
- 12. 綁定標誌枚舉包含列表框複選框
- 13. WPF綁定到複選框列表的枚舉列表(或類似)
- 14. WPF:無法綁定DataGrid枚舉列表
- 15. 模型綁定枚舉標誌列表
- 16. 綁定枚舉以下拉列表
- 17. 將枚舉綁定到靜態數據
- 18. MVVM將枚舉綁定到Combobox
- 19. 將TypeConverter直接綁定到枚舉
- 20. C#將其他值綁定到枚舉
- 21. 綁定到枚舉在XAML
- 22. 將複選框綁定到int數組/ MVC中的枚舉
- 23. 將枚舉數據綁定到WPF + MVVM中的組合框中
- 24. Silverlight將數據綁定到一個枚舉的組合框
- 25. 如何將自定義枚舉值綁定到@ Html.CheckBox
- 26. 綁定文本框的枚舉視圖
- 27. WPF如何與描述枚舉綁定到組合框
- 28. WPF綁定列表框中包含子可枚舉
- 29. 如何將枚舉ItemsControl綁定到WPF中的集合?
- 30. 如何將枚舉值綁定到rails中的字段
可能的重複[數據綁定枚舉屬性到WPF中的ComboBox](http://stackoverflow.com/questions/58743/databinding-an-enum-property-to-a-combobox-in-wpf) – Andrey 2010-10-14 17:46:36