我在我的视图模型中有一个属性:
public BitmapImage MyImage {get; set;}
我有一个ItemsControl,其中的项包含几张图片和一些文本。其中一个图片应该是MyImage。然而,ItemsControl有一个ItemsSource属性,我将其设置为绑定路径=Result,并且我知道ItemsControl中的所有项都采用Result的数据上下文。
因此,现在当我执行这个操作:
<Image Source="{Binding Path=MyImage}" />
当然,我收到了错误信息:
BindingExpression path error: 'MyImage' property not found on 'object' ''KeyValuePair`2' (HashCode=-853042223)'. BindingExpression:Path=MyImage; DataItem='KeyValuePair`2' (HashCode=-853042223); target element is 'Image' (Name=''); target property is 'Source' (type 'ImageSource')
System.Windows.Data错误:40:
这是因为MyImage是直接属性,而绑定不会搜索直接属性。相反,它会在父数据上下文中搜索。
我该如何避免这种情况?