Silverlight这个Binding语句出了什么问题?

时间:2010-12-31 19:34:29

标签: silverlight data-binding datagrid service ria

我有一个Employees集合,每个项目都有自己的ProjectResource项目集合。 我正在尝试对列进行数据绑定,但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获取Name详细信息,我们将子集合作为Employee.ProjectResource。 这就是我所拥有的。无论如何,这对我来说是有意义的,它应该有效,但事实并非如此。它显示名字和姓氏,但没有项目资源数据。 也许这只是一个语法错误或简单(我希望),但任何帮助将不胜感激。

感谢您阅读

1 个答案:

答案 0 :(得分:0)

我有一个解决方案,虽然它有点像黑客。

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

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