问题描述: 我有一个小的WPF窗口使用Datagrid绑定到一个可观察的集合。当此窗口在具有.net 4.5的Windows操作系统中启动时,它可以正常工作,但是当我在仅安装.Net 4.0的操作系统中运行时(例如:Windows Server 2008R2),此窗口崩溃时出现以下异常。
或者在这里:http://i.imgur.com/AxG9t5p.png
如果我安装.net 4.5,同样的窗口工作正常,即使我的应用程序基于.net 4.0而且我没有使用特定于.net 4.5的任何功能。
如果有人可以解释为什么会有不同的行为,那会很棒吗?
项目可在此处找到: http://1drv.ms/1k9Yolx 感谢
答案 0 :(得分:0)
我试图在.Net4.5和.Net 4.0上运行您的项目,但我没有遇到任何错误。
您已捕获到ArgumentOutOfRangeException,此异常与平台.Net4.0和.Net 4.5无关。此外,.Net4.0和.Net 4.5都有ArgumentOutOfRangeException。
代码var t = Projects.ColumnFromDisplayIndex(2)
获取指定索引处的DataGridColumn。因为你有9列(_name,...,_path),
你做任何例外。但是,如果您将Projects.ColumnFromDisplayIndex(10)
设置为10,那么您将会看到ArgumentOutOfRangeException
因为你超出范围(你有9列,但你试图没有现有的列)。