내 응용 프로그램에 Silverlight 4 및 MVVM 패턴을 사용하고 있습니다. 하나의 페이지에 바인딩 된 목록 상자가 있는데 one.xaml
이고보기 모델은 oneviewmodel.cs
입니다. 이것은 내 앨범 컬렉션을로드하는 페이지입니다. 그 페이지에 새 앨범을 추가하는 페이지가있는 버튼이 있습니다. 해당 페이지가 two.xaml
이고보기 모델이 twoViewModel.cs
인 경우 이 페이지에서 내가 RIA 서비스 전화 : -ObservableCollection <someentity> 새로 고침 없음
context.albums.add(somealbum);
을하고 changes.The 앨범 추가됩니다 제출하고 난 SQL 서버의 기록을 볼 수 있습니다. 그러나 팝업이 닫히면 내 목록 상자는 여전히 부실 데이터를 표시합니다. 방금 추가 한 새로운 항목을로드하기 위해 서버에 다시 요청해야합니까? 따라서 본질적으로 메시징 패턴을 사용하고 엔티티를 다시로드하기 위해 oneviewmodel.cs
을 요청해야합니다. 이 올바른 방법입니까?
이로드 앨범 기관의 내 방법입니다 : -이 숀 Wildermuth와 같은 패턴과 클래스를 사용
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);
.
당신은 다시 서버에서 모든를로드 할 필요가 없습니다