私はすでに一日中解決策を探しています。私はMVVMの初心者で、次の問題があります。これは私のviewmodelLocatorのコードです:
static ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
if (ViewModelBase.IsInDesignModeStatic)
{
// Create design time view services and models
SimpleIoc.Default.Register<IDataService, DesignDataService>();
}
else
{
// Create run time view services and models
//SimpleIoc.Default.Register<IDataService,DataService>();
SimpleIoc.Default.Register<IDataService, OleDbDataService>();
}
SimpleIoc.Default.Register<A>();
SimpleIoc.Default.Register<B>();
}
public A a {
get { return ServiceLocator.Current.GetInstance<A>(); }
}
public B b {
get
{
return ServiceLocator.Current.GetInstance<B>();
}
}
A からデータを更新した後、B を開きたいのですが、次のようにします。
private void A_Button_Click(object sender, RoutedEventArgs e)
{
var bWindow = new bView();
bWindow.Show();
this.Close();
}
これは機能しますが、B は A からのデータを使用し、更新されたデータはプログラムを閉じて再度開くまで表示されません。Viewmodellocator とメッセージに関係があることを読みましたが、私はこれにかなり慣れていないため、「クリーンアップ」を行う必要がある方法や場所が正確にはわかりません。
誰でもこれで私を助けてもらえますか? 前もって感謝します。