我有一个Silverlight Business Aplication(RIA服务),我有一个DataGrid附加到DataSource的DataContext。在Silverlight子级Windows中,我创建一个新实体并将更改提交给服务器。 问题是我的DataContext不知道,所以网格不显示新添加的实体。如何重新加载DataContext?
如何刷新DataContext或指示DataGrid重新绑定?
编辑:这是我的代码
<riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:Team, CreateList=true}" Height="0" LoadedData="teamDomainDataSource_LoadedData" Name="teamDomainDataSource" QueryName="GetTeamsQuery" Width="0">
<riaControls:DomainDataSource.DomainContext>
<my:F1DomainContext />
</riaControls:DomainDataSource.DomainContext>
</riaControls:DomainDataSource>
<sdk:DataGrid AutoGenerateColumns="False" Height="200" ItemsSource="{Binding ElementName=teamDomainDataSource, Path=Data}" Name="teamDataGrid" RowDetailsVisibilityMode="VisibleWhenSelected" DataContext="{Binding}">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn x:Name="idColumn" Binding="{Binding Path=Id, Mode=OneWay}" Header="Id" IsReadOnly="True" Width="SizeToHeader" />
<sdk:DataGridTextColumn x:Name="nameColumn" Binding="{Binding Path=Name}" Header="Name" Width="SizeToHeader" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>
正如你可以看到我的teamDataGrid
的的ItemSource高于
嘿,不知道我是否理解你的建议......我需要改变什么?我添加了一些代码,可以看到我在说什么 – sebagomez 2010-10-26 16:15:45
哦,我明白了,我没有注意到您使用的是RIA服务。所以,让我问,你的查询,我会想像公共ObservableCollection GetTeamsQuery()...你可以发布一些更多的代码(尤其是代码隐藏)吗?另外,当你通过childWindow添加一个新对象时,确保你添加了这个集合并且它应该被复制。 –
user118190
2010-10-26 18:10:01