为什么ImageBrush引发错误但仍然正常显示?

时间:2011-02-13 20:52:50

标签: wpf binding imagebrush

我有一个带有以下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出现此错误?我做错了吗?

0 个答案:

没有答案