xaml - 如何在 CollectionView 中存储值
问题描述
我有一个CollectionView
列表,想为每个项目设置一个单独的值,单击它可以获取该值。
但是好像没有这个属性应该怎么办?
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid Padding="5,5" HeightRequest="55">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.134*" />
<ColumnDefinition Width="0.489*" />
<ColumnDefinition Width="0.256*" />
</Grid.ColumnDefinitions>
<Grid.GestureRecognizers>
<TapGestureRecognizer CommandParameter="{Binding Id}" Tapped="Handle_Tapped" />
</Grid.GestureRecognizers>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
我无法获得参数,请帮助。
解决方案
当您单击一个项目时,默认情况下事件参数会获取选定的数据,因此您不需要 id 来获取所有您需要做的事情是这样的:
private void Handle_Tapped(object sender, System.EventArgs e)
{
var clickedData=(e as ItemTappedEventArgs).Item as YourDataType;
}
您的 CollectionViewYourDataType
的绑定在哪里。Type
推荐阅读
- android - 如何在没有 SD 卡的情况下安装存储在内存中的 APK
- mysql - 在 Spring 应用程序的事务中使用异步
- android - android Map<>如果对象具有TRUE值,如何使用键名设置Text()
- sql - 使用 Hive 复杂数据类型
- python - 什么是 Killed:9 以及如何在 macOS 终端中修复?
- node.js - 如何更新猫鼬数组中的所有文档并在它们不存在时创建它们?
- mongodb - 如何过滤嵌套/较低的子文档
- javascript - ReactJS dont take the css styles
- ios - 在 UITableView Header 中居中 UIImageView
- ruby-on-rails - 如何从嵌套表单值更新关联记录