WPF:将代码绑定到属性的绑定组合框

时间:2010-03-17 10:40:27

标签: c# wpf binding combobox

这可能是非常直接的事情,我认为它应该按原样运作,但它不会......我有以下情况:

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();
   }
}

我原本希望这会将项目列表绑定到Combobox,当我在XAML中执行它时它工作正常,但我必须在代码后面执行...

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

我将以下评论作为答案:

  

我在视图中创建了一个属性   检查设置的模型和   相反,暴露了适当的清单   而不是使用代码隐藏。   它更容易测试。 - 罗伯特   Rossney

答案 1 :(得分:0)

您是否将Combobox的DataContext设置为ItemList的父对象? 所以comboBox.DataContext = MyObj; MyObj上有ItemList属性。

答案 2 :(得分:0)

再次检查 DataContext 是否设置为具有 ItemList 属性的对象。 一个非常好的方法,看看真正的DataContext是使用Snoop。 您的代码没有问题,Jast DataContext