我在 .NET 框架 4.5.1 上构建了一个 WPF 桌面应用程序。它“通常”工作正常,但是在某些机器上,在运行时,当 WPF 数据网格将要显示时,会出现 System.OutOfMemoryException。
堆栈跟踪报告:
An error of type System.OutOfMemoryException occurred.
in System.Windows.Controls.ItemContainerGenerator.ContainerFromItem(Object item)
in Microsoft.Windows.Controls.DataGrid.TryFindCell(Object item, DataGridColumn column)
in Microsoft.Windows.Automation.Peers.DataGridCellItemAutomationPeer.get_OwningCellPeer()
in Microsoft.Windows.Automation.Peers.DataGridCellItemAutomationPeer.IsEnabledCore()
in System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
in System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
in System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
in System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
in System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
in System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree()
in System.Windows.ContextLayoutManager.fireAutomationEvents()
in System.Windows.ContextLayoutManager.UpdateLayout()
in System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
in System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork()
in System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
in System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
in System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
in System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
in MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
非工作机器是 32 位、Windows 7、2 GB RAM、.NET 框架 4.5.1。
我必须说数据网格只显示几行。我一直在网上寻找类似的错误,但我找不到任何合适的解决方案。
有什么建议吗?
谢谢!