WPF动态嵌套绑定

时间:2010-12-18 21:25:23

标签: c# wpf data-binding

假设我有一个带有以下控件的视图(DataContext已正确设置为实现INotify的视图模型):

首次显示视图时,Document不存在(null)。在运行时(用户打开Document之后),然后创建Document和依赖结构(包括Document.SelectedFrame.Image)。

此时,我调用了SelectedFrame对象的PropertyChaned处理程序(也实现了INotifyProperty),但没有任何反应。

创建Document时,是否必须在运行时重新绑定绑定?

1 个答案:

答案 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"));
    }
}