如何定位ListView中的Item?

Anvien 2013-04-22 01:25:46
局部的xmal代码:

<ListView x:Name="ListView_SongList" Padding="55,0,10,0"
ItemContainerStyle="{StaticResource RecommendItemContainerStyle}" IsItemClickEnabled="True" ItemClick="ListView_SongList_ItemClick" SelectionChanged="ListView_SelectionChanged">
<ListView.ItemTemplate>
<DataTemplate ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Auto">
<Grid Width="1000" Height="40">
<Grid Grid.ColumnSpan="4" Background="White" Opacity="0.1"/>
<Grid Height="36" Margin="10,6,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="0.7*"/>
<ColumnDefinition Width="0.6*"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="FileName_TextBlock" Grid.Column="0" Text="{Binding FileName}" Style="{StaticResource ListViewTextStyle}" />
<TextBlock Grid.Column="1" Text="{Binding Artist}" Style="{StaticResource ListViewTextStyle}" />
<TextBlock Grid.Column="2" Text="{Binding Ablum}" Style="{StaticResource ListViewTextStyle}"/>
<StackPanel Grid.Column="3" Orientation="Horizontal">
<Button Style="{StaticResource ListViewImageButtonStyle}">
<Image Source="Images/ListPage/ListAddTo.png" Style="{StaticResource ListViewImageStyle}"/>
</Button>
<Button Style="{StaticResource ListViewImageButtonStyle}">
<Image Source="Images/ListPage/FavoriteList.png" Style="{StaticResource ListViewImageStyle}"/>
</Button>
<Button Style="{StaticResource ListViewImageButtonStyle}" Click="DeleteButton_Click">
<Image Source="Images/ListPage/ListDelete.png" Style="{StaticResource ListViewImageStyle}"/>
</Button>
</StackPanel>
</Grid>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>


实现的ListView的UI:


我想点击每行的Item中的删除、添加按钮后可以获取该Item,请问该怎么实现呢?
...全文
453 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Anvien 2013-04-22
  • 打赏
  • 举报
回复
引用 3 楼 cuit 的回复:
引用 2 楼 anvien 的回复:引用 1 楼 cuit 的回复:findname(x:Name)用FindName能找到点击的按钮对应的Item吗?好像只能引用这个ListView吧? 你可以试试
用FindName去找对应Item的名称时,会找不到抛出异常,不行。不过,还是谢谢!
Anvien 2013-04-22
  • 打赏
  • 举报
回复
引用 4 楼 NianHui 的回复:
FrameworkElement currentElement = (FrameworkElement)sender; Object itemData = currentElement.DataContext; itemData就是当前数据项 ListBoxItem listBoxItem = this.gridViewRSSItems.ItemContai……
多谢,你的方法果然有用!
#blackheart 2013-04-22
  • 打赏
  • 举报
回复
FrameworkElement currentElement = (FrameworkElement)sender; Object itemData = currentElement.DataContext; itemData就是当前数据项 ListBoxItem listBoxItem = this.gridViewRSSItems.ItemContainerGenerator.ContainerFromItem(itemData) as ListBoxItem; 获取当前UI容器元素
gnimgnot 2013-04-22
  • 打赏
  • 举报
回复
引用 2 楼 anvien 的回复:
引用 1 楼 cuit 的回复:findname(x:Name)用FindName能找到点击的按钮对应的Item吗?好像只能引用这个ListView吧?
你可以试试
Anvien 2013-04-22
  • 打赏
  • 举报
回复
引用 1 楼 cuit 的回复:
findname(x:Name)
用FindName能找到点击的按钮对应的Item吗?好像只能引用这个ListView吧?
gnimgnot 2013-04-22
  • 打赏
  • 举报
回复
findname(x:Name)

7,660

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧