Xamarin - 点击时如何从列表视图中的 ImageCell 获取数据绑定字符串值?
Posted
技术标签:
【中文标题】Xamarin - 点击时如何从列表视图中的 ImageCell 获取数据绑定字符串值?【英文标题】:Xamarin - How do i get data binding string value from an ImageCell in a listview when tapped? 【发布时间】:2021-07-03 07:11:22 【问题描述】:我对 Xamarin 还很陌生,我在弄清楚如何获取图像单元格的 Binding 值时遇到了问题。
我有一个使用 ImageCell 的列表视图,如下所示,iv'e 将 itemSelected 命令设置为名为“selectedBox_Tapped”的列表视图
<Grid> <ListView x:Name="itemListView" ItemSelected="selectedBox_Tapped"> <ListView.ItemTemplate> <DataTemplate> <ImageCell Text="Binding Name" Detail="Binding Compound" ImageSource="defaultImage.png"> </ImageCell> </DataTemplate> </ListView.ItemTemplate> </ListView> </Grid>
在后面的 C# 代码中,我正在尝试这个
private async void selectedBox_Tapped(object sender, ItemTappedEventArgs args) string name = ???? await Navigation.PushAsync(new DetailsPage(name));
我希望能够从 ImageCell 中获取 Binding Name 的字符串值,然后将其作为构造函数传递给我的 DetailsPage,如上所示。
String name = ???? 我不知道我需要做什么才能完成这项工作。
感谢您的帮助:)
【问题讨论】:
【参考方案1】:使用ItemTappedEventArgs
private async void selectedBox_Tapped(object sender, ItemTappedEventArgs args)
// args.Item will be the context of the tapped cell
// you will need to cast it to the correct class
var item = (MyClass)args.Item;
// once item is cast, you can just refer to its properties
await Navigation.PushAsync(new DetailsPage(item.Name));
【讨论】:
以上是关于Xamarin - 点击时如何从列表视图中的 ImageCell 获取数据绑定字符串值?的主要内容,如果未能解决你的问题,请参考以下文章