[英]WPF: Binding Combobox in Code Behind to Property
這可能是非常簡單的事情,我真的認為它應該可以正常工作,但事實並非如此……我有以下情形:
var itemSource = new Binding
{
Path = new PropertyPath("ItemList"),
Mode = BindingMode.OneTime
};
comboBox.SetBinding(ItemsControl.ItemsSourceProperty, itemSource);
ItemList很簡單:
public IList<string> ItemList
{
get
{
return Enum.GetNames(typeof(OptionsEnum)).ToList();
}
}
我本來希望可以將項目列表綁定到組合框,而當我在XAML中運行它時,它可以正常工作,但是我必須在后面的代碼中完成它...
有任何想法嗎?
我以以下評論為答案:
我將在視圖模型中創建一個屬性,該屬性檢查設置並顯示適當的列表,而不用費力地隱藏代碼。 測試起來容易得多。 –羅伯特·羅斯尼
您是否已將Combobox的DataContext
設置為ItemList
的父對象? 所以comboBox.DataContext = MyObj;
MyObj上具有ItemList屬性。
再次檢查DataContext是否設置為具有ItemList屬性的對象。 看看什么是真正的DataContext的一種很好的方法是使用Snoop 。 Jast DataContext ,您的代碼沒有問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.