J'ai une liste code> CollectionView CODE> LIST et souhaitez définir chaque élément une valeur individuelle qui, lorsqu'elle clique dessus, il peut obtenir la valeur.
Mais il semble qu'il n'y ait pas de ce type à faire?
<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>
3 Réponses :
Lorsque vous cliquez sur un élément, l'argument de l'événement par défaut obtient les données sélectionnées afin que vous n'ayez pas besoin d'une carte d'identité pour obtenir que tout ce que vous avez à faire est quelque chose comme ceci:
private void Handle_Tapped(object sender, System.EventArgs e) { var clickedData=(e as ItemTappedEventArgs).Item as YourDataType; }
L'expéditeur est une grille
Cela n'a pas d'importance de ne pas casser l'expéditeur!
Comme votre code, il existe une référence d'objet d'exception non définie sur une instance d'un objet.
Pouvez-vous me dire quel type d'arguments d'événement obtenez-vous lorsque vous débogez l'événement de clic
Je trouve le bon code moi-même quand je vois le code que vous donnez merci. @ G.hakim
Essayez ceci
Si vous souhaitez coller avec un événement, L'un de ces éléments supprimera la nécessité d'avoir un reconnaissance de gestes de robinet pour chaque cellule d'affichage dans le CollectionView code> offre un
SELECTELTEMITEM code> propriété reliable. Vous pouvez lier cette propriété et effectuer les actions dont vous avez besoin dans votre modèle de vue lorsqu'il est défini. P>
CollectionView code> propose également un événement code> CORETCHANGED CODE> qui déclenchera chaque fois que les modifications
sélectionnées code> et ce sera Passez l'élément sélectionné à chaque fois dans le cadre des arguments. P>
Collectionview code>. P>
Peut-être que si vous pouviez me montrer ce que vous avez fait jusqu'à présent, je peux vous donner une solution rapide
@ G.hakim s'il vous plaît voir le code.