2014-02-25 59 views
0

我们已经有了古老的.NET SDKs(v4.0.30319)的客户,它对DataGrid有一个已知问题,导致'索引超出范围'用于某些操作和输入。
(细节可以found herehere本地捕获WPF异常

我们的用户无法升级(受控的环境中,没有管理员权限)的.NET版本。

有没有办法赶上当地的异常?

最好的,我们已经发现迄今是通过DispatcherUnhandledException全球捕获异常我们app.xaml,但我们确实想要抓住这个特殊的错误只是这个特定的模块。

是否有意见DispatcherUnhandledException任何等效?
或者任何方式“破解”到WPF管道捕获错误..?

+0

视图的施工过程中真的发生了这种异常Or的显示的时候吗? –

+0

当它已经显示和更新/重新排序以特定方式 – cacau

+0

也必然给电网的'DataTable'刷新后,已经提到这事做虚拟化,可通过设置禁用虚拟化'VirtualizingStackPanel.IsVirtualizing =”假“'可以完全解决这个问题 - 但是,它可能使视图的大量项目的速度很慢,可能不适合你。 –

回答

0

如果没有使用Dispatcher.UnhandledException,您无法捕获此特殊异常,因为如果存在ArgumentOutOfRangeException,它将被抛入网格内部并与分派器内部相关。如果原因是一个真正的用户界面交互(你可以在堆栈跟踪看到这一点),你将无法赶上那特殊的一个。