welcome to Qijie's Blog 薛其杰

GridView中有两个事件分别是:gvSource_SelectionChanged 和gvSource_ItemClick。

1. 若你设置了IsItemClickEnabled="True", 当你单击GridView里边的一个item时, gvSource_ItemClick事件会被触发。此时鼠标左键单击只是单击而不是选择。

2. 相反你如此设置IsItemClickEnabled="False", 当你单击GridView里边的一个item时, 此时鼠标左键是选择, 所以gvSource_SelectionChanged会被执行而gvSource_ItemClick不会被执行。

 

我们再分别看看如何在两个事件中获得GridView里边的内容:

          <GridView x:Name="gvSource" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,0,0,20" IsItemClickEnabled="False" ItemClick="gvSource_ItemClick" SelectionChanged="gvSource_SelectionChanged" >
                <GridView.GroupStyle>
                    <GroupStyle ContainerStyle="{StaticResource HorizontalScrollViewerStyle}"/>                   
                </GridView.GroupStyle>
                <GridViewItem >
                    <Image x:Name="firstImage" Source="Assets/Catoon/catoon (1).jpg" Height="100" Width="100"/>
                </GridViewItem>
               </GridView>

请看我们如何在两个事件中分别获得这个Image:

     private void gvSource_ItemClick(object sender, ItemClickEventArgs e)
        {
              var imageSource = ((Image)e.ClickedItem).Source;
        }
private void gvSource_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var selectedItems =e.AddedItems;
            if (selectedItems.Count != 1)
                return;
            foreach (var item in selectedItems)
            {
                GridViewItem gvItem = (GridViewItem)item ;
                var image=gvItem.Content as Image;
             }
           }

 

posted on 2013-01-13 20:30  零点零一  阅读(1631)  评论(0编辑  收藏  举报