私は自分のアプリケーションにSilverlight 4とMVVMパターンを使用しています。私は1つのページにバインドされているリストボックスを持っていますone.xaml
とそのviewmodelはoneviewmodel.cs
です。これは私のアルバムコレクションを読み込むページです。私はそのページに新しいアルバムを追加するためのページをポップアップするボタンを持っています。そのページがtwo.xaml
で、そのビューモデルがtwoViewModel.cs
であるとします。ObservableCollection <someentity>リフレッシュしない
context.albums.add(somealbum);
とchanges.Theアルバムが追加されますと、私はSQL Serverのレコードを見ることができ提出 - :このページでは私は、RIAサービスを呼び出します。しかし、ポップアップが閉じられると、リストボックスは失効したデータを表示します。ちょうど追加された新しいエンティティを読み込むためにサーバにリクエストをもう一度行う必要がありますか?したがって、本質的に私はエンティティを再び読み込むためにメッセージパターンと要求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と同じパターンとクラスを使用しています。事前に
感謝:)