没有特定DataContext的绑定不会更新

我有一个MVVM光视图模型,ListBox绑定到List 。 Listbox最初填充得很好,但是当我在运行时更改为不同的列表(而不仅仅是添加项目)时,除非我设置了特定的数据上下文,否则它不会更新。

这样可行:

... DataContext="{Binding MyViewModel, Source={StaticResource Locator}}"  

但这不是:

 DataContext="{Binding Source={StaticResource Locator}}"  

在这两种情况下,我都可以通过set调用来validation是否正确调用了RaisePropertyChanged方法,但在第二种情况下,相关的“get”永远不会发生。

这是按设计工作的,还是MVVM-Light或Silverlight中的错误?

定位:

 public class ViewModelLocator { private static UnityContainer Container; static ViewModelLocator() { Container = new UnityContainer(); Container.RegisterType(new ContainerControlledLifetimeManager()); } public MyViewModelType MyViewModel { get { return Container.Resolve(); } }