WPF:将DataGrid绑定到列表<;产品>;将DataGridComboxColumn绑定到列表<;类别>;?
我有一个DataGrid,其中ItemsSource设置为产品和服务列表 我在DataGrid中有一个DataGridComboxColumn,其中ItemsSource设置为类别列表。这样,我希望用户为每个产品选择特定的类别 我总是得到绑定错误: BindingExpression路径错误:在“对象”“产品”(哈希)上找不到“类别”属性 我不想将类别列表作为1:N关系作为产品实体的一部分,尽管它可以这样工作 我想把它们分开WPF:将DataGrid绑定到列表<;产品>;将DataGridComboxColumn绑定到列表<;类别>;?,wpf,datagrid,datagridcomboboxcolumn,Wpf,Datagrid,Datagridcomboboxcolumn,我有一个DataGrid,其中ItemsSource设置为产品和服务列表 我在DataGrid中有一个DataGridComboxColumn,其中ItemsSource设置为类别列表。这样,我希望用户为每个产品选择特定的类别 我总是得到绑定错误: BindingExpression路径错误:在“对象”“产品”(哈希)上找不到“类别”属性 我不想将类别列表作为1:N关系作为产品实体的一部分,尽管它可以这样工作 我想把它们分开 有人知道解决方法吗?使用静态属性创建类,如 static class
有人知道解决方法吗?使用静态属性创建类,如
static class ValueLists
{
public static IEnumerable<Category> Categories {get {... }}
}
创建具有静态属性的类,如
static class ValueLists
{
public static IEnumerable<Category> Categories {get {... }}
}
可能与你的问题有关
这里发生了什么事?Columns集合只是Datagrid中的一个属性;此集合不在逻辑(或可视)树中,因此不会继承DataContext,这将导致没有可绑定的对象 可能与你的问题有关 这里发生了什么事?
Columns集合只是Datagrid中的一个属性;此集合不在逻辑(或可视)树中,因此不会继承DataContext,这将导致没有可绑定的对象
这是一种迟到的回复,但为了分享我发现的知识:
这个答案表明,将第二个列表转换为静态类并不总是必须的,您可以始终指定一个相对资源,搜索特定的祖先,然后绑定到“其他”列出您在ViewModel中的列表。这是一种延迟回复,但为了分享我发现的知识:
这个答案表明,将第二个列表转换为静态类并不总是必须的,您可以始终指定一个相对资源,搜索特定的祖先,然后绑定到“其他”列出您在ViewModel中拥有的内容。我发现了一个很好的链接,它处理的内容与我需要的完全相同:我无法在静态类中实现INotifyPropertChanged;-)而不是静态绑定,这不起作用吗?=>ItemsSource=“{Binding Path=DataContext.Categories,RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type Window}}}}}}”IsReadOnly=“True”Background=“White”/>我发现了一个处理完全相同内容的好链接:我无法在静态类中实现我需要的INotifyPropertChanged;-)而不是静态绑定,这不起作用吗?=>ItemsSource=“{Binding Path=DataContext.Categories,RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type Window}}}}}}”IsReadOnly=“True”Background=“White”/