C# 如何绑定到已绑定的依赖项属性?(绑定链)

C# 如何绑定到已绑定的依赖项属性?(绑定链),c#,wpf,visual-studio-2010,xaml,binding,C#,Wpf,Visual Studio 2010,Xaml,Binding,我有三个要素: 我的主窗口 包含UserControlB的UserControlA UserControlA包含的UserControlB My UserControlB正在图像上执行作业,并声明了DependencyProperty: public ImageSource Source { set { SetValue(SourceProperty, value); } get { return GetValue(SourceProperty

我有三个要素:

  • 我的主窗口
  • 包含UserControlB的UserControlA
  • UserControlA包含的UserControlB
My UserControlB正在图像上执行作业,并声明了DependencyProperty:

    public ImageSource Source
    {
        set { SetValue(SourceProperty, value); }
        get { return GetValue(SourceProperty) as ImageSource; }
    }
    public static DependencyProperty SourceProperty = DependencyProperty.Register("Source", typeof(ImageSource), typeof(UserControlB));
并且UserControlB中a处理的图像绑定到此依赖项:

<Image Source="{Binding Path=Source}" />
然后是UserControlA。如果我使用UserControlB并设置源属性direclty,一切都会正常工作。 但是,my UserControlA还有一个Dependency属性,用于设置ImageSource:

    public ImageSource Source
    {
        get { return GetValue(SourceProperty) as ImageSource; }
        set { SetValue(SourceProperty, value); }
    }
    public static readonly DependencyProperty SourceProperty =
        DependencyProperty.Register("Source", typeof(ImageSource), typeof(UserControlA));
它也受到同样的约束:

<my:UserControlB Source="{Binding Path=Source}" />
现在在我的主窗口中,我的UserControlA必须显示我的UserControlB:

<my:UserControlA Source="/Project;component/Images/090607153529_49.jpg" />
它不起作用


所以,我不知道下一步该怎么办。

看看这个问题:,有一个解决办法
DataContext="{Binding RelativeSource={RelativeSource Self}}"
<my:UserControlA Source="/Project;component/Images/090607153529_49.jpg" />
Source="{Binding Path=Source, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}"