我正在为我的应用程序使用Silverlight 4和MVVM模式。我有一个列表框绑定到一个页面,说one.xaml
,它的视图模型是oneviewmodel.cs
。这是我加载我的相册集合的页面。我在那个页面上有一个按钮,弹出一个页面来添加一个新的相册。说那个页面是two.xaml
,它的viewmodel是twoViewModel.cs
。在这个页面上我叫RIA服务: -ObservableCollection <someentity>不刷新
context.albums.add(somealbum);
,并提交changes.The专辑被添加,我可以看到SQL Server中的记录。但是当弹出窗口关闭时,我的列表框仍然显示陈旧的数据。我是否需要再次向服务器发送请求以加载刚添加的新实体?因此,基本上我必须使用消息传递模式并请求oneviewmodel.cs
再次加载实体。这是正确的做法吗?
这是我装的专辑实体的方法: -
var qry = AlbumContext.GetAlbumsQuery(_profile.UserId);
AlbumContext.Load<Album>(qry, new Action<System.ServiceModel.DomainServices.Client.LoadOperation<Album>>(albums => {
if (GetAlbumsComplete != null)
{
if (albums.Error == null)
{
GetAlbumsComplete(this, new EntityResultArgs<Album>(albums.Entities));
}
else
{
GetAlbumsComplete(this,new EntityResultArgs<Album>(albums.Error));
}
}
}), null);
这是使用相同的模式和类肖恩Wildermuth。
感谢提前:)