我有绑定到DomainDataSource一个DataGrid:Silverlight 4 Datagrid在新实体添加到DomainContext的实体集时不会更新。 (绑定的问题?)
<sdk:DataGrid AutoGenerateColumns="False" Height="Auto"
ItemsSource="{Binding ElementName=mailboxDomainDataSource, Path=Data,Mode=TwoWay}"
Name="mailboxHeaderDataGrid"....>...</sdk>
我也有一个附加按钮添加新行:
private void addMailboxButton_Click(object sender, RoutedEventArgs e)
{
Mailbox m = new Mailbox();
InboxNotifierDomainContext context = (InboxNotifierDomainContext)mailboxDomainDataSource.DomainContext;
((InboxNotifierDomainContext)mailboxDomainDataSource.DomainContext).Mailboxes.Add(m);
if (!mailboxDomainDataSource.DomainContext.IsSubmitting) if (mailboxDomainDataSource.HasChanges) mailboxDomainDataSource.SubmitChanges();
mailboxHeaderDataGrid.ItemsSource = ((InboxNotifierDomainContext)mailboxDomainDataSource.DomainContext).Mailboxes;
foreach (Mailbox m1 in ((InboxNotifierDomainContext)mailboxDomainDataSource.DomainContext).Mailboxes)
{
MessageBox.Show(m1.MailboxID + '-' + m1.MailBox1);
}
}
现在,当我通过DomainContext迭代。邮箱,在函数结束时,新邮箱存在。
当我查看我的数据库时,新邮箱存在。
如果我刷新页面,新的邮箱会出现在DataGrid中。
但是,当我遍历ItemsSource时,新邮箱没有出现(它不应该与DomainContext.Mailboxes相同,因为我设置它们相等?)。新邮箱不会出现在网格中。
任何帮助将是美好的。
提前致谢!