1

我有一个将 ItemsSource 设置为产品列表的 DataGrid,并且在 DataGrid 中有一个 DataGridComboBoxColumn,其中 ItemsSource 设置为类别列表。这样我希望用户为每个产品选择一个特定的类别。

我总是收到绑定错误:

BindingExpression 路径错误:在“对象”“产品”(哈希)上找不到“类别”属性

好吧,我不想将产品实体的类别列表作为 1:N 关系的一部分,尽管它会这样工作。

我想让他们分开。

有人知道解决方法吗?

4

3 回答 3

1

Create class with static property like

static class ValueLists
{
   public static IEnumerable<Category> Categories {get {... }}
}

and use following binding

ItemsSource="{x:Static myNs:ValueList.Categories}" />
于 2010-06-18T20:19:37.683 回答
0

这是一种迟到的回复,但为了分享我发现的知识:

使用 MVVM 绑定 WPF DataGridComboBoxColumn

这个答案表明,将第二个列表转换为静态类并不总是强制性的,您始终可以指定一个RelativeSource并搜索特定的祖先,然后绑定到您在 ViewModel 中拥有的“其他”列表。

于 2013-09-18T14:07:37.753 回答
0

可能与您的问题有关。

这里发生了什么?
Columns 集合只是 Datagrid 中的一个属性;此集合不在逻辑(或可视)树中,因此 DataContext 没有被继承,这导致没有任何东西可以绑定。

于 2010-06-19T11:24:54.727 回答