假设我有一个带有以下控件的视图(DataContext已正确设置为实现INotify的视图模型):
首次显示视图时,Document不存在(null)。在运行时(用户打开Document之后),然后创建Document和依赖结构(包括Document.SelectedFrame.Image)。
此时,我调用了SelectedFrame对象的PropertyChaned处理程序(也实现了INotifyProperty),但没有任何反应。
创建Document时,是否必须在运行时重新绑定绑定?
答案 0 :(得分:1)
我假设你有一个看起来像这样的绑定:
<Image Source="{Binding Path=Document.SelectedFrame.Image}"></Image>
当Document的值发生变化时,您需要在ViewModel类上引发PropertyChanged。看起来应该是这样的:
public object Document
{
get { return document; }
set
{
document = value;
this.PropertyChanged(this, new PropertyChangedEventArgs("Document"));
}
}