【发布时间】:2011-02-24 15:04:43
【问题描述】:
我有一个绑定到 DomainDataSource 的 DataGrid:
<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.Mailboxes 时,在函数结束时,新邮箱存在。
当我查看我的数据库时,新邮箱已经存在。
如果我刷新页面,新邮箱会出现在 DataGrid 中。
然而,当我遍历 ItemsSource 时,新邮箱不会出现(不应该与 DomainContext.Mailboxes 相同,因为我将它们设置为相等吗?)。并且新邮箱没有出现在网格中。
任何帮助都会很棒。
提前致谢!
【问题讨论】:
标签: silverlight silverlight-4.0 datagrid wpfdatagrid