我有一个具有以下 DependencyPorperty 的自定义控件:
public static readonly DependencyProperty MyImageProperty = DependencyProperty.Register(
"MyImage",
typeof(ImageSource),
typeof(ImageButton), // that's my custom control class name
new PropertyMetadata(null));
public ImageSource MyImage
{
get { return (ImageSource)GetValue(MyImageProperty); }
set { SetValue(MyImageProperty, value); }
}
如果我尝试以下代码:
<Border Name="btnBorder" Height="30">
<Border.Background>
<ImageBrush ImageSource="{Binding Path=MyImage}" />
</Border.Background>
</Border>
我在 Visual Studio 2010 输出窗口中总是出现以下错误:
System.Windows.Data 错误:2:找不到目标元素的管理 FrameworkElement 或 FrameworkContentElement。绑定表达式:路径=我的图像;数据项=空;目标元素是“ImageBrush”(HashCode=47992654);目标属性是“ImageSource”(类型“ImageSource”)
但应用程序仍然运行良好,图像加载正常,没有例外。
但是,如果我执行以下操作:
<Image Name="btnImage" Source="{Binding MyImage}" />
没有错误,应用程序再次正常工作。
为什么 ImageBrush 会出现此错误?我做错了什么吗?