0

我正在显示这样的文件列表:

<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.}

请帮忙。

4

1 回答 1

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);
于 2013-10-24T10:40:15.353 回答