我已经整天寻求解决方案了。我是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和消息有关,但由于我对此很陌生,我现在不知道如何和/或我需要做些什么&#34;清理& #34;
任何人都可以帮我这个吗?提前谢谢。