Mvvm SL4:ViewModel上的Databind to属性,当ViewModel更改时是否通知绑定对象?
SL4,MVVM。我们的MainView有一个对应的MainViewModel作为其DataContext。Mvvm SL4:ViewModel上的Databind to属性,当ViewModel更改时是否通知绑定对象?,mvvm,silverlight-4.0,Mvvm,Silverlight 4.0,SL4,MVVM。我们的MainView有一个对应的MainViewModel作为其DataContext。 MainViewModel有一个属性ThingViewModel——CurrentThingViewModel 我们将MainView中的复选框绑定到ThingViewModel的属性: <CheckBox IsChecked="{Binding CurrentThingViewModel.ReadOnly, Mode=TwoWay}" /> 将不同的ThingView
MainViewModel有一个属性ThingViewModel——CurrentThingViewModel 我们将MainView中的复选框绑定到ThingViewModel的属性:
<CheckBox IsChecked="{Binding CurrentThingViewModel.ReadOnly, Mode=TwoWay}" />
将不同的ThingViewModel分配给CurrentThingViewModel时,CTVM将引发PropertyChanged事件。复选框是否得到通知,因为它绑定到CTVM的属性,而不是实际引发PropertyChanged事件的属性
感谢您提供的任何见解…是的,绑定将侦听所提供绑定的所有级别上的PropertyChanged事件,如果第一级绑定正在更新,则所有较低级别的绑定也将被触发
<CheckBox IsChecked="{Binding X.Y.Z, Mode=TwoWay}" />
如果在X、Y或Z上触发PropertyChanged事件,则绑定将检查X.Y.Z的值一个非常简单的项目的实验表明,当为CTVM分配不同的ThingViewModel时,绑定到CTVM.ReadOnly的视图将被更新。一定还有别的事情发生了——可能有点混乱,因为checkbox.IsChecked是以编程方式设置的,也是由用户设置的?