继续聊WPF——如何获取ListView中选中的项

欢迎加入微群 DotNet中国:http://qun.t.qq.com/67176884

在WPF中获Listview中选中的项,与WinForm里面有着很大的区别,要亲身去研究一下在WPF中如果处理,其实也不难,来,下面我们一起来通过一个简单的示例来感悟一下吧。

第一步就是建立一个WPF应用程序项目,这个不用描述了,节省了31个字。

第二步,为了实现数据绑定,先写一个简单的员工类,包含三个属性——姓名、年龄、城市。

public class Emp { public string Name { get; set; } public int Age { get; set; } public string City { get; set; } }


第三步,写前台XAML,布局窗体和ListView。

<Grid> <ListView x:Name="lv" SelectionChanged="lv_SelectionChanged"> <ListView.View> <GridView AllowsColumnReorder="True"> <GridViewColumn DisplayMemberBinding="{Binding Path=Name}" Header="姓名" Width="65"/> <GridViewColumn DisplayMemberBinding="{Binding Path=Age}" Header="年龄" Width="65"/> <GridViewColumn DisplayMemberBinding="{Binding Path=City}" Header="所在城市" Width="70"/> </GridView> </ListView.View> </ListView> </Grid>


第四步,在窗体的loaded事件中绑定数据。

private void Window_Loaded(object sender, RoutedEventArgs e) { lv.ItemsSource = new Emp[]{ new Emp{Name="小明",Age=16,City="北京"}, new Emp {Name="小红",Age=20, City="天津"}, new Emp{ Name="小环", Age=21, City="杭州" }, new Emp { Name="小高", Age=23, City="东莞" } }; }


第五步,我们要知道,ListView的选定项是什么类型的。

private void lv_SelectionChanged(object sender, SelectionChangedEventArgs e) { MessageBox.Show(lv.SelectedItem.GetType().ToString()); }


第六步,这回爽歪歪了,原来Listview选定的项类型就是我们给它绑定的类型,也就是说,如果我们把A类绑定到控件,选定项就是一个A类的实例。

private void lv_SelectionChanged(object sender, SelectionChangedEventArgs e) { Emp emp = lv.SelectedItem as Emp; if (emp != null && emp is Emp) { MessageBox.Show("员工姓名:" + emp.Name + "\n\n" + "员工年龄:" + emp.Age.ToString() + "\n\n" + "城市:" + emp.City); } }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1、资源目源码均已通过严格测试验证,保证能够正常运行; 2、目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本目仅用作交流学习参考,请切勿用于商业用途。1、资源目源码均已通过严格测试验证,保证能够正常运行; 2、目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本目仅用作交流学习参考,请切勿用于商业用途。1、资源目源码均已通过严格测试验证,保证能够正常运行; 2、目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本目仅用作交流学习参考,请切勿用于商业用途。1、资源目源码均已通过严格测试验证,保证能够正常运行; 2、目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本目仅用作交流学习参考,请切勿用于商业用途。1、资源目源码均已通过严格测试验证,保证能够正常运行; 2、目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本目仅用作交流学习参考,请切勿用于商业用途。1、资源目源码均已通过严格测试验证,保证能够正常运行; 2、目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本目仅用作交流学习参考,请切勿用于商业用途。1、资源目源码均已通过严格测试验证,保证能够正常运行; 2、目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本目仅用作交流学习参考,请切勿用于商业用途。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值