我有一個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