无法将类型为System.Windows.Controls.SelectedItemCollection的对象强制转换为类型System.Collections.Generic.IList`1

在WPF中DataGrid 选择事件中获取SelectedItems
报错如下
无法将类型为“System.Windows.Controls.SelectedItemCollection”的对象强制转换为类型“System.Collections.Generic.IList`1[SomeModel]”。
应该如此使用
  System.Collections.IList items = (System.Collections.IList)this.dataGrid.SelectedItems;
  var collection = items.Cast<SomeModel>();
  var someModelList = collection.ToList(); 
-------------------------------------
Cast 方法
无法将类型为System.Windows.Controls.SelectedItemCollection的对象强制转换为类型System.Collections.Generic.IList`1
无法将类型为System.Windows.Controls.SelectedItemCollection的对象强制转换为类型System.Collections.Generic.IList`1
 //
        // 摘要: 
        //     将 System.Collections.IEnumerable 的元素转换为指定的类型。
        //
        // 参数: 
        //   source:
        //     包含要转换的元素的 System.Collections.IEnumerable。
        //
        // 类型参数: 
        //   TResult:
        //     source 中的元素要转换成的类型。
        //
        // 返回结果: 
        //     一个 System.Collections.Generic.IEnumerable<T>,包含已转换为指定类型的源序列的每个元素。
        //
        // 异常: 
        //   System.ArgumentNullException:
        //     source 为 null。
        //
        //   System.InvalidCastException:
        //     序列中的元素不能强制转换为 TResult 类型。
        public static IEnumerable<TResult> Cast<TResult>(this IEnumerable source);
View Code
更多相关文章
一周排行
  • PigeonCall:一款AndroidVoIP网络电话App架构分析
    1.概述PigeonCall,中文名"飞鸽电话",是一款Android ...
  • 12月4日,工信部正式向中国移动通信集团公司.中国电信集团公司和中国联合网络通信集团有限公司颁发了LTE/第四代数字蜂窝移动通信业务(TD-LTE)经营许可证,中国正式进入4G时代.业内预计4G网络大规模商用将带动终 ...
  • 编译安装httpd-2.4.9及新特性详解
    前言前面我们讲解了httpd在CentOS6上(httpd-2.2)的相关功能配置,而Ce ...
  • 在使用linux的过程中,难免会误删除一些文件,可是怎样找回呢?下面介绍一下ext3文件系统的数据恢复: 系统环境:Red Hat Enterprise Linux Server release 5  需要软件:e2 ...
  •    声卡类:常见故障一:声卡无声.出现这种故障常见的原因有: 1. 驱动程序默认输出为"静音".单击屏幕右下角的声音小图标(小嗽叭),出现音量调节滑块,下方有"静音"选项,单 ...
  • cmd--回车,输入netstat-ano--回车,可以查看已占用的端口,记下端口的PID,然后打开任务管理器,点查看,选择列,勾选PID确定,找到对应的PID,结束进程,如果结束不了或者结束后还不起作用,就用nts ...
  • Java线程(一) 1.进程 进程:正在进行中的程序. 线程:就是进程中一个负责程序执行的控制单元(执行路径)         一个线程中可以多执行路径,称之为多线程. a.一个进程中至少有一个线程. b.开启多个线 ...
  • Swift开发iOS应用过程中的问题和解决记录
    虚拟机里安装OSX+XCode开发环境 用真机的请直接跳过这个部分. 主要是在Vitrua ...
  • Centos7 修改运行级别systemd使用比sysvinit的运行级别更为自由的target概念作为替代第三运行级:multi-user.target第五运行级:graphical.target#前者是符号链接指 ...
  • Subversion的配置与使用
    在linux服务器上安装Subversion,可以直接用yum install subve ...