簡體   English   中英

WPF:綁定代碼到屬性后面的組合框

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM