没有特定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(); } }