我有一个带有以下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或 Target的FrameworkContentElement 元件。 BindingExpression:路径= MYIMAGE; 的DataItem = NULL;目标元素是 'ImageBrush'(HashCode = 47992654); target属性是'ImageSource'(类型 '的ImageSource')
但是应用程序运行正常,图像正常加载,没有例外。
但如果我这样做:
<Image Name="btnImage" Source="{Binding MyImage}" />
没有错误,应用程序再次正常工作。
为什么ImageBrush出现此错误?我做错了吗?