所以我有一个控件,它响应它的项目被更改,调用 UpdateLayout()。这会产生如下所示的堆栈跟踪:
说明:应用程序通过 System.Environment.FailFast(string message) 请求进程终止。消息:不可恢复的系统错误。堆栈:在 System.Environment.FailFast(System.String) 在 MS.Internal.Invariant.FailFast(System.String, System.String) 在 MS.Internal.Invariant.Assert(Boolean, System.String) 在 System.Windows。 Window.GetWindowMinMax() 在 System.Windows.Window.MeasureOverride(System.Windows.Size) 在 System.Windows.FrameworkElement.MeasureCore(System.Windows.Size) 在 System.Windows.UIElement.Measure(System.Windows.Size)在 System.Windows.ContextLayoutManager.UpdateLayout() 在 System.Windows.UIElement.UpdateLayout() 在
显然,在某些情况下,GetWindowMinMax() 会导致某种 Assert() 失败,这会导致调用 Environment.FailFast。在调用 UpdateLayout 之前我可以检查哪些条件以确保不会发生这些情况以避免遇到此错误?