2012-11-22 46 views
0

我是XAML新手,请帮助我为什么无法获得点击事件。无法获取ItemClicked事件

我可以在DataTemplate/Grid上获取Tapped事件,我需要点击的项目的确切ID。 这里是我的网格:

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

我的事件处理程序

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

TIA

回答

1

你必须分配IsItemClickEnabled财产

<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> 
相关问题