我正在显示这样的文件列表:
<Image Name="{Binding fileId}" Source="/Assets/icons/add.png" Grid.Row="0" Grid.RowSpan="3" Grid.Column="0" Tap="Image_Tap">
我正在尝试在图像Tap事件上获取fileId值。但它给予例外{System.NullReferenceException: Object reference not set to an instance of an object.}
请帮忙。
答案 0 :(得分:1)
不是设置name属性,而是将fileId分配给Tag属性并在点击时检索它。
<Image Tag="{Binding fileId}" Source="/Assets/icons/add.png" Grid.Row="0" Grid.RowSpan="3" Grid.Column="0" Tap="Image_Tap">
当然,如果你绑定一个集合,你可能会使用带有绑定ItemsSource的GridView或ListView控件。在这种情况下,您可以通过访问图像的DataContext来获取单个元素绑定的完整对象。
Image myTappedImage = (Image)sender;
MyImgInfo mySourceObject = (MyImgInfo)(myTappedImage.DataContext);