如何在源对象更改时动态更新绑定?

时间:2009-09-24 19:30:55

标签: wpf binding

我有什么?

我在XAML中有Frame,(绑定工作正常)。

<Frame Name="frmMainContent"
             DataContext="MyPageInformation"
             Source="{Binding ElementName=thisPage, Path=MyPageInformation.UserControlPath}"
             NavigationUIVisibility="Hidden"></Frame>

在我背后的代码中,我有DependencyProperty个班级PageInformation

public static DependencyProperty PageInformationProperty = DependencyProperty.Register("MyPageInformation", typeof(PageInformation), typeof(Administration));

    public PageInformation MyPageInformation
    {
        get { retur n (PageInformation)GetValue(PageInformationProperty); }
        set{ SetValue(PageInformationProperty, value); }
    }

我想要什么?

只要Frame的值发生变化,MyPageInformation就应该更新其绑定。

有人可以告诉我如何实现这个目标吗?

提前致谢!

2 个答案:

答案 0 :(得分:1)

您不必仅为此绑定使PageInformationProperty成为依赖项属性。在后面的代码中实现INotifyPropertyChanged。

此外,由于您实际上绑定到“UserControlPath”,请确保此属性实际发送更改通知。

答案 1 :(得分:0)

好吧,我要告诉你的第一件事是所有绑定错误都出现在“输出”窗口中。所以你需要查看它,看看你是否有任何错误。

接下来......对于自动更新的绑定,您需要将属性“绑定”为依赖属性,或者为其他类实现INotifyPropertyChanged。

确保您完全绑定到的属性是其中一种情况。