c# – 由Environment.FailFast崩溃的WPF

前端之家收集整理的这篇文章主要介绍了c# – 由Environment.FailFast崩溃的WPF前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在研究为Kiosk(触摸屏)构建的 WPF应用程序.我们为自己构建虚拟键盘.

有一个屏幕我们使用带有TextBox的DataGrid控件列出一些项目(最多4个项目).虚拟键盘显示焦点(这就是它的构建方式).

当我们随机选择不同的项目时,应用程序崩溃而不会到达通用异常处理程序.此问题在触摸屏上可重复,但在常规屏幕中不可重复.事件日志显示如下,

Application: CashNGo.WPF.exe
Framework Version: v4.0.30319
Description: The application requested process termination through System.Environment.FailFast(string
message).
Message: Unrecoverable system error.
Stack:
   at System.Environment.FailFast(System.String)
   at MS.Internal.Invariant.FailFast(System.String,System.String)
   at MS.Internal.Invariant.Assert(Boolean,System.String)
   at System.Windows.Documents.TextStore.VerifyTextStoreConsistency()
   at System.Windows.Documents.TextStore.GrantLock()
   at System.Windows.Documents.TextStore.GrantLockWorker(LockFlags)
   at System.Windows.Documents.TextStore.RequestLock(LockFlags,Int32 ByRef)
   at MS.Win32.UnsafeNativeMethods+ITextStoreACPSink.OnSelectionChange()
   at System.Windows.Documents.TextStore.OnSelectionChanged()
   at System.Windows.Documents.TextSelection.System.Windows.Documents.ITextRange.NotifyChanged(Boolean,Boolean)
   at System.Windows.Documents.TextRangeBase.EndChange(System.Windows.Documents.ITextRange,Boolean,Boolean)
   at System.Windows.Documents.TextSelection.System.Windows.Documents.ITextRange.Select(System.Windows.Documents.ITextPointer,System.Windows.Documents.ITextPointer)
   at System.Windows.Controls.TextBox.Select(Int32,Int32)
   at System.Windows.Controls.TextBox.set_CaretIndex(Int32)
   at Common.Controls.SoftKeyboard.<.cctor>b__1c(System.Windows.Controls.TextBox)
   at System.Windows.Input.DelegateCommand`1[[System.__Canon,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089]].Execute(System.__Canon)
   at Common.Controls.SoftKeyboard+<>c__DisplayClass5.<SoftKeyboardFocus_Changed>b__0()
   at System.Windows.Threading.Dispatcher.Invoke(System.Action,System.Windows.Threading.DispatcherPriority,System.Threading.CancellationToken,System.TimeSpan)
   at System.Windows.Threading.Dispatcher.Invoke(System.Action,System.Windows.Threading.DispatcherPriority)
   at Common.Extensions+<>c__DisplayClass1.<DelayedInvoke>b__0(System.Object,System.EventArgs)
   at System.Windows.Threading.DispatcherTimer.FireTick(System.Object)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate,System.Object,Int32)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object,System.Delegate,Int32,System.Delegate)
  at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext,System.Threading.ContextCallback,Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,System.Object)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr,IntPtr,Boolean
ByRef)
   at MS.Win32.HwndWrapper.WndProc(IntPtr,Boolean ByRef)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate,System.Delegate)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority,System.TimeSpan,Int32)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr,IntPtr)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
   at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
   at System.Windows.Threading.Dispatcher.Run()
   at System.Windows.Application.RunDispatcher(System.Object)
   at System.Windows.Application.RunInternal(System.Windows.Window)
   at System.Windows.Application.Run(System.Windows.Window)
   at System.Windows.Application.Run()
   at CashNGo.WPF.App.Main()

我做了一些搜索,找到了http://social.msdn.microsoft.com/Forums/vstudio/en-US/dfbd2526-8953-4ce8-97c2-43246fd251c0/wpf-framework-crashing-on-setting-foxus-in-textbox?forum=wpf,这是完全相同的例外.

任何建议都会有所帮助.

解决方法

关闭一个名为的Windows服务.
Tablet PC Input Service

猜你在找的C#相关文章