Viewmodellocater取消注册Viewmodels

时间:2014-04-17 12:01:40

标签: viewmodel viewmodellocator

我已经整天寻求解决方案了。我是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;

任何人都可以帮我这个吗?提前谢谢。

0 个答案:

没有答案