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
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}"