我有一個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