【问题标题】:Can't get ItemClicked event无法获取 ItemClicked 事件
【发布时间】:2012-11-23 05:43:38
【问题描述】:

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

我可以在 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

【问题讨论】:

    标签: xaml windows-8


    【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-26
      相关资源
      最近更新 更多