Silverlight What';这个有约束力的声明有什么错?

Silverlight What';这个有约束力的声明有什么错?,silverlight,data-binding,datagrid,service,ria,Silverlight,Data Binding,Datagrid,Service,Ria,我有一个员工集合,每个项目都有自己的项目资源项目集合。 我正在尝试对列进行数据绑定,但ProjectResource无法绑定 <data:DataGrid x:Name="TestGrid"> <data:DataGrid.Columns> <data:DataGridTextColumn Header="First Name" Binding="{Binding Person.Fir

我有一个员工集合,每个项目都有自己的项目资源项目集合。 我正在尝试对列进行数据绑定,但ProjectResource无法绑定

<data:DataGrid x:Name="TestGrid">
            <data:DataGrid.Columns>
            <data:DataGridTextColumn Header="First Name" 
                Binding="{Binding Person.FirstName}" />
            <data:DataGridTextColumn Header="Last Name" 
                Binding="{Binding Person.LastName}" />
            <data:DataGridTextColumn Header="Week 1" 
                Binding="{Binding ProjectResource[0].PercentRequired}" />
            </data:DataGrid.Columns>
            <data:DataGridTextColumn Header="Week 2" 
                Binding="{Binding ProjectResource[1].PercentRequired}" />
            </data:DataGrid.Columns>            
  </data:DataGrid>

从上面可以看到,我们从Employee.Person获得了姓名详细信息,我们的子集合为Employee.ProjectResource。 这就是我所拥有的。这是有道理的(对我来说),逻辑上它应该工作,但它没有。它显示名字和姓氏,但不显示projectresource数据。 也许这只是一个语法错误或一些简单的问题(我希望如此),但如果有任何帮助,我们将不胜感激


感谢阅读

我对此有一个解决方案,尽管它有点像黑客

我在silverlight应用程序中创建了一个newEmployee和Resource类。我创建了一个集合,并将Employee实体项添加到新集合中,并将此新集合指定为网格的项源。在对xaml进行了一些轻微的语法修改之后,它现在是完全功能化的,并且与新集合进行了双向数据绑定


在启动submitchanges方法之前,我只需将任何更改导出回实体集合。

当绑定不正确时,调试器应输出消息。您的类和绑定是什么样子的?没有任何错误消息,projectresource绑定列中没有数据。它们是从RIA服务中分离出来的独立实体。在加载所有RIA数据后,我尝试分配项目源(因此我知道数据实际上在那里),但仍然只得到名称ProjectResource的类型是什么?ProjectResource是否已在构造函数中初始化?什么版本的Silverlight?是Silverlight 3。我不确定您的意思,ProjectResource是数据库中的一个表,它链接到employee表和project表。每个员工都可以作为项目每周的项目资源分配,因此在上面的示例中,项目有两周,每个员工在ProjectResource表中有两个条目。所有这些表都存在于EF模型中,并通过RIA服务加载到应用程序中。然后将datacontext.Employees指定为datagrid的itemsource。Silverlight只能查看CLR对象-什么是项目资源的CLR类型?它必须从IList派生才能使用属性路径索引。