这可能是非常直接的事情,我认为它应该按原样运作,但它不会......我有以下情况:
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中执行它时它工作正常,但我必须在代码后面执行...
有什么想法吗?
答案 0 :(得分:1)
我将以下评论作为答案:
我在视图中创建了一个属性 检查设置的模型和 相反,暴露了适当的清单 而不是使用代码隐藏。 它更容易测试。 - 罗伯特 Rossney
答案 1 :(得分:0)
您是否将Combobox的DataContext
设置为ItemList
的父对象?
所以comboBox.DataContext = MyObj;
MyObj上有ItemList属性。
答案 2 :(得分:0)
再次检查 DataContext 是否设置为具有 ItemList 属性的对象。 一个非常好的方法,看看真正的DataContext是使用Snoop。 您的代码没有问题,Jast DataContext 。