zoukankan      html  css  js  c++  java
  • 继续聊WPF——如何获取ListView中选中的项

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

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

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

    1. public class Emp  
    2. {  
    3.     public string Name { get; set; }  
    4.   
    5.     public int Age { get; set; }  
    6.   
    7.     public string City { get; set; }  
    8. }  


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

    1. <Grid>  
    2.     <ListView x:Name="lv" SelectionChanged="lv_SelectionChanged">  
    3.         <ListView.View>  
    4.             <GridView AllowsColumnReorder="True">  
    5.                 <GridViewColumn DisplayMemberBinding="{Binding Path=Name}" Header="姓名"  
    6.                                 Width="65"/>  
    7.                 <GridViewColumn DisplayMemberBinding="{Binding Path=Age}" Header="年龄"  
    8.                                 Width="65"/>  
    9.                 <GridViewColumn DisplayMemberBinding="{Binding Path=City}" Header="所在城市"  
    10.                                 Width="70"/>  
    11.             </GridView>  
    12.         </ListView.View>  
    13.     </ListView>  
    14. </Grid>  


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

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


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

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


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

    1. private void lv_SelectionChanged(object sender, SelectionChangedEventArgs e)  
    2. {  
    3.     Emp emp = lv.SelectedItem as Emp;  
    4.     if (emp != null && emp is Emp)  
    5.     {  
    6.         MessageBox.Show("员工姓名:" + emp.Name +  
    7.             " " + "员工年龄:" + emp.Age.ToString() + " " +  
    8.             "城市:" + emp.City);  
    9.     }  
    10. }  


  • 相关阅读:
    Linux上将文件夹复制到指令目录
    将PC版网页转为手机端自适应网页
    WCF初探-18:WCF数据协定之KnownType
    WCF初探-17:WCF数据协定之等效性
    WCF初探-16:WCF数据协定之基础知识
    WCF初探-15:WCF操作协定
    2018数学二21题解法分析
    柯西不等式:简单常考形式
    等价、合同、相似、正交变换;二次型,正定,惯性指数
    高数狄利克雷收敛条件(傅里叶)
  • 原文地址:https://www.cnblogs.com/xieweikai/p/6832780.html
Copyright © 2011-2022 走看看