3

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

4

0 回答 0