0
votes

I'm new in XAML, please help me why I can't get click event.

I can get Tapped event on DataTemplate/Grid by I need exact ID of the item clicked. Here is my grid:

 <GridView                            
          x:Name="newsGridView"
          SelectionMode="None"
          IsSwipeEnabled="false"
          ItemsSource="{Binding Source={StaticResource newsViewSource}}"
          ItemClick="newsGridView_ItemClick">
          <GridView.ItemTemplate>
          <DataTemplate>
          <Grid HorizontalAlignment="Left" Width="160" Height="160">
          <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}">
          <Image Source="{Binding Image}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Text}"/>
          </Border>
          <StackPanel VerticalAlignment="Bottom" Background="{StaticResource ListViewItemOverlayBackgroundThemeBrush}">
          <TextBlock Text="{Binding Text}" Foreground="{StaticResource ListViewItemOverlayForegroundThemeBrush}" Style="{StaticResource TitleTextStyle}" Height="30" Margin="15,0,15,0"/>
          <TextBlock Text="{Binding Subtitle}" Foreground="{StaticResource ListViewItemOverlaySecondaryForegroundThemeBrush}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap" Margin="15,0,15,10"/>
          </StackPanel>
          </Grid>
          </DataTemplate>
          </GridView.ItemTemplate>
          </GridView>

My event handler

 private void newsGridView_ItemClick(object sender, ItemClickEventArgs e)
 {
    var s = sender as NewsObject;           
 }

TIA

1

1 Answers

1
votes

you have to assign IsItemClickEnabled property

<GridView                            
          x:Name="newsGridView"
          SelectionMode="None"
          IsSwipeEnabled="false"
          ItemsSource="{Binding Source={StaticResource newsViewSource}}"
          IsItemClickEnabled="true"
          ItemClick="newsGridView_ItemClick">
               <GridView.ItemTemplate>
                    <DataTemplate>
                    <Grid HorizontalAlignment="Left" Width="160" Height="160">
                    <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}">
                         <Image Source="{Binding Image}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Text}"/>
                    </Border>
               <StackPanel VerticalAlignment="Bottom" Background="{StaticResource ListViewItemOverlayBackgroundThemeBrush}">
                    <TextBlock Text="{Binding Text}" 
                    Foreground="{StaticResource ListViewItemOverlayForegroundThemeBrush}" 
                    Style="{StaticResource TitleTextStyle}" Height="30" Margin="15,0,15,0"/>
                    <TextBlock Text="{Binding Subtitle}" 
                    Foreground="{StaticResource ListViewItemOverlaySecondaryForegroundThemeBrush}" 
                    Style="{StaticResource CaptionTextStyle}" 
                    TextWrapping="NoWrap" Margin="15,0,15,10"/>
               </StackPanel>
          </Grid>
     </DataTemplate>
     </GridView.ItemTemplate>
</GridView>