继续聊WPF——如何获取ListView中选中的项
在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);
- }
- }

继续聊WPF——如何获取ListView中选中的项的更多相关文章
- C# 获取listview中选中一行的值
首先必须要判断listView1.SelectedItems.Count>0或是listview1.SelectedIndices.Count>0,否则第一次点击会选不中.其次,好像ite ...
- C#+ArcGIS Engine 获取地图中选中的要素
转自 C#+ArcGIS Engine 获取地图中选中的要素 C#+ArcGIS Engine 获取地图中选中的要素 提供一种简单遍历获取地图中选中要素的方法,代码如下: List<IFeatu ...
- 用WPF实现在ListView中的鼠标悬停Tooltip显示
原文:用WPF实现在ListView中的鼠标悬停Tooltip显示 一.具体需求描述 在WPF下实现,当鼠标悬停在ListView中的某一元素的时候能弹出一个ToolTip以显示需要的信息. 二.代码 ...
- Vue. 之 Element获取table中选中的行
Vue. 之 Element获取table中选中的行 问题描述: 如下截图,在Table中选择数据后,然后在点击“统计”按钮,获取Table表中选择的行 解决方案: 1. 给“统计”这个按钮添加一个点 ...
- Android ListView中 每一项都有不同的布局
实现代码 Adapter的代码 其中:ViewHolder分别是三个不同的布局,也就是ListView中每一项的布局 TYPE_1...是三种类型. 在使用不同布局的时候,getItemViewTyp ...
- WPF之让ListView中的CheckBox居中显示
第一步:在资源中定义一个居中的样式: <Window.Resources> <Style x:Key="ListViewItemStyle" TargetType ...
- c#中如何获取listbox中选中值的问题
StringBuilder ConponPerson = new StringBuilder(); for (int i = 0; i < lb_tzs.Items.Cou ...
- 怎么获取textarea中选中文字
textarea设置select="saveSelectionText()" //保存选中内容 saveSelectionText: function () { var focus ...
- 使用window.getSelection()获取div中选中文字内容及位置
div添加一个弹出事件: $(document).ready(function () { $("#marked-area").mouseup(function (e) { $sco ...
随机推荐
- Geeks - Detect Cycle in a Directed Graph 推断图是否有环
Detect Cycle in a Directed Graph 推断一个图是否有环,有环图例如以下: 这里唯一注意的就是,这是个有向图, 边组成一个环,不一定成环,由于方向能够不一致. 这里就是添加 ...
- SQL server触发器、存储过程操作远程数据库插入数据,解决服务器已存在的问题
近期弄了一个小项目,也不是非常复杂,须要将一个数据库的一些数据备份到另外一个库.不是本地,可能是网络上其它的数据库.想了一下,用了存储过程和触发器. 也不是非常复杂,首先我须要操作远程数据库,于是写了 ...
- jQuery总结02
1 如何搭建一个 jQuery 环境? 2 jQuery 对象与 DOM 对象一样吗?区别是什么? 3 jQuery选择器类型有哪些?
- 【Ubuntu QQ】记如何在Ubuntu上安装QQ(附下载)
什么困扰着一批批的ubuntu桌面用户?是麻花藤.哦不,是QQ,怎么在ubuntu上安装完美无瑕的QQ. 最佳解决方案在“三”部分,当然前两个也不失为解决方案 一.尝试的开始 配置: 双系统:Wind ...
- 窗口函数 SELECT - OVER Clause (Transact-SQL)
https://docs.microsoft.com/en-us/sql/t-sql/queries/select-over-clause-transact-sql Determines the pa ...
- poi读取word2003(.doc文档)中的表格
poi读取word2003(.doc文档)中的表格 Jakarta POI 是apache的子项目,目标是处理ole2对象.它提供了一组操纵Windows文档的Java API.在网上见到好多通过po ...
- Too Many open files 问题排查
问题描述:使用netty做性能测试时,并发过大造成Too Many open files问题 该类错误是因为linux系统对socket连接时需要打开的文件句柄数有限制可以通过ulimit -a 查看 ...
- WinSocket简单聊天程序客户端
#pragma comment(lib,"Ws2_32.lib") #include <stdio.h> #include <Winsock2.h> SOC ...
- TCP/IP详解(二)
首先,不得不吐槽一下中文版的翻译,把英文版的很多部分的删除了.中文版的pdf只有400多页,英文版有1000多页.迫于时间,只有先将就着看中文版,但是遇到不懂的地方,一定要对照英文版来看. 滑动窗口协 ...
- JavaScript 函数 伪数组 arguments
一.函数 函数:函数就是将一些语言进行封装,然后通过调用的形式,执行这些语句. 函数的作用: 1.将大量重复的语句写在函数里,以后需要这些语句的时候,可以直接调用函数,避免重复劳动 2.简化编程,让变 ...