博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
继续聊WPF——如何获取ListView中选中的项
阅读量:4986 次
发布时间:2019-06-12

本文共 1587 字,大约阅读时间需要 5 分钟。

欢迎加入微群 DotNet中国: 

 

在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); } }

转载于:https://www.cnblogs.com/tcjiaan/archive/2011/11/08/2422694.html

你可能感兴趣的文章
一对多的两个表,查询主表的信息和主表在子表中的记录条数
查看>>
主题演讲:未来新趋势电动车
查看>>
常用DNS列表(电信、网通)
查看>>
LeetCode-178:分数排名
查看>>
转:退火算法 Simulate Anneal Arithmetic (SAA,模拟退火算法)
查看>>
Django电商项目---完成商品主页显示day2
查看>>
如何解决文章格式化编辑器win7 64位下找不到Comctl32.ocx
查看>>
核心动画-翻页效果的实现
查看>>
微信小程序弹出框 页面依然可以滑动的解决
查看>>
$.ajax同域请求,跨域请求的解决方案
查看>>
octave操作
查看>>
【Python】安装Python的mysql模块
查看>>
layui中的html怎样接收后台的值,layui框架与SSM前后台交互的方法
查看>>
Skulpt在线模拟运行Python工具
查看>>
287.软件测试概述
查看>>
297.白盒测试
查看>>
新闻客户端的突破与创新
查看>>
网络通信引擎ICE的使用
查看>>
js滚动事件实现滚动触底加载
查看>>
CetnOS minimal 网络不可用
查看>>