none
listview控件用groupstyle加载图片及文本的列表,点击其item无效,如何解决 RRS feed

  • 问题

  • 其中xaml代码:
                <Grid.Resources>
                    <CollectionViewSource x:Name="itemcollectionSource" IsSourceGrouped="True" ItemsPath="Items"/>
                </Grid.Resources>
          
    
                <StackPanel>
                    <ListView  x:Name="lv" ItemsSource="{Binding Source={StaticResource itemcollectionSource}}" Height="496" Margin="0,0,-0.333,0">
                        <ListView.GroupStyle >
                            <GroupStyle>
                                <GroupStyle.HeaderTemplate>
                                    <DataTemplate  >
                                        <StackPanel   Orientation="Horizontal">
                                            <Border  BorderBrush="Red" BorderThickness="2" Background="{StaticResource  ApplicationPageBackgroundThemeBrush}">
                                            <Image  x:Name="im1" Tag="1" Source="{Binding Path=DirectoryImageSource}" Height="240" Width="240" Stretch="Uniform"/>
                                            </Border>
                                            <StackPanel>
                                                <TextBlock x:Name="te1" Text="{Binding Path=DirectoryName}" />
                                                <TextBlock  Text="{Binding Path=DirectoryName}" />
                                                <TextBlock Text="{Binding Path=DirectoryName}" />
                                                <TextBlock  Text="{Binding Path=DirectoryName}" />
                                            </StackPanel>
                                        </StackPanel>
                                    </DataTemplate>
                                </GroupStyle.HeaderTemplate>
                            </GroupStyle>
                        </ListView.GroupStyle>                    
                    </ListView>
                </StackPanel>
    

    上面代码如何实现点击事件,其中如下两种方法都没效果:

    1.                     <ListView  x:Name="lv" SelectionMode="Single"  IsItemClickEnabled="True" ItemClick="lv_ItemClick" ItemsSource="{Binding Source={StaticResource itemcollectionSource}}" Height="496" Margin="0,0,-0.333,0">
    
    2.                <ListView  x:Name="lv" SelectionMode="Single" SelectionChanged="lv_SelectionChanged"  ItemsSource="{Binding Source={StaticResource itemcollectionSource}}" Height="496" Margin="0,0,-0.333,0">
    

    但是Tapped="lv_tapped"可以触发单击事件,但是不知道如何获取Image控件中被点击的source值

    希望大家能帮忙指点迷津,谢谢

    2016年1月4日 15:23

答案

  • Hi,

    ListView的GroupStyle并不是Item的部分,我建议你将你的数据放到ItemTemplate里面,GroupStyle的header来定义Item所属的群组名,这样的话就不会影响我们使用SelectionChanged事件。关于更详细的使用ListView的事例请阅读:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/XamlListView

    Best Regards,

    Jambor


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 learn WP 2016年1月29日 8:18
    2016年1月22日 4:17
    版主

全部回复

  • Hi,

    据我所知,Tap事件是无法知道哪一行被点击的,除非你计算listview的位置,和Tap触发点的位置来计算出在哪一行的位置触发,不过这样处理太麻烦了。我尝试的时候你的第二个选项Select changed事件是触发的,我建议你检查下你的code,必要的话重新启动下你的VS,如果你的代码不涉及敏感问题的话,你也可以尝试将code以onedrive链接的方式写在你的回复中,这样我会更容易重现问题,并找出解决方案。

    Best Regards,

    Jambor


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2016年1月8日 6:19
    版主
  • 重新试了还是没用,这有onedrive的链接,请你看一下,谢谢了;

    https://onedrive.live.com/redir?resid=2F62CE43CD7D3372!120622&authkey=!AN0m0SArCoQIdcA&ithint=folder%2csln

    后来我直接用ListView和ListView.ItemTemplate,DataTemplate就行了,能用点击事件了;

    < ListView.GroupStyle >还是不能用SelectionChangde事件

    • 已编辑 learn WP 2016年1月8日 12:18
    2016年1月8日 12:14
  • Hi,

    ListView的GroupStyle并不是Item的部分,我建议你将你的数据放到ItemTemplate里面,GroupStyle的header来定义Item所属的群组名,这样的话就不会影响我们使用SelectionChanged事件。关于更详细的使用ListView的事例请阅读:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/XamlListView

    Best Regards,

    Jambor


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 learn WP 2016年1月29日 8:18
    2016年1月22日 4:17
    版主
  • 谢谢你的回答;
    2016年1月29日 8:18