我正在尝试将图像从窗口绑定到 UserControl 'DisplayHandler' 内的 UserControl'DisplayHandler' 中。Display 有一个 DependancyProperty 'DisplayImage'。This is Similar to this,但他们的回答对我的问题没有帮助。
DisplayHandler 还应该具有“DisplayImage”属性并将绑定传递给 Display。但是 Visual Studio 不允许我两次注册同名的 DependancyProperty。所以我试图不注册两次,而只是重复使用它:
窗户
<my:DisplayHandler DisplayImage=
"{Binding ElementName=ImageList, Path=SelectedItem.Image}" />
显示处理程序
xml
<my:Display x:Name="display1"/>
CS
public static readonly DependencyProperty DisplayImageProperty =
myHWindowCtrl.DisplayImageProperty.AddOwner(typeof(DisplayHandler));
public HImage DisplayImage {
get { return (HImage)GetValue(DisplayImageProperty); }
set { SetValue(DisplayImageProperty, value); }
}
public HImage DisplayImage /*alternative*/ {
get { return (HImage)display1.GetValue(Display.DisplayImageProperty); }
set { display1.SetValue(Display.DisplayImageProperty, value); }
}
**这两个属性都没有解决。*
展示
public HImage DisplayImage {
get { return (HImage)GetValue(DisplayImageProperty); }
set { SetValue(DisplayImageProperty, value); }
}
public static readonly DependencyProperty DisplayImageProperty =
DependencyProperty.Register("DisplayImage", typeof(HImage), typeof(Display));
我一直在想一个控件如果没有定义它自己的值,它会爬上树并寻找它的属性。->参考
所以它应该以某种方式工作......
我对模板和 ContentPresenter 进行了一些尝试,因为这适用于 ImageList(ImageList 还包含显示),但我无法让它像 ListBoxItem 那样绑定值。