我有自己的ApplicationModalAdorner。有时我会从${systemd_unitdir}/system/
获得InvalidOperationException
,我会覆盖它。对GetLayoutClip()
的调用会导致异常。我无法重现异常(我在日志记录中看到异常很多)。也许窗口没有完整呈现?我正在寻找复制(可能在一个简单的应用程序中)和这个例外的原因/解决方案。我在同一分钟内得到了例外几次。我更喜欢没有Dispatcher的解决方案。
相关的callstack部分:
TransformToAncestor
代码
Wrapped Exception: System.InvalidOperationException: An exception occured while handling another exception;
bij System.Windows.Media.Visual.TrySimpleTransformToAncestor(Visual ancestor, Boolean inverse, GeneralTransform& generalTransform, Matrix& simpleTransform)
bij System.Windows.Media.Visual.TransformToAncestor(Visual ancestor)
bij x.x.x.ApplicationModalAdorner.WindowRect()
bij x.x.x.ApplicationModalAdorner.GetLayoutClip(Size layoutSlotSize)
bij System.Windows.UIElement.ensureClip(Size layoutSlotSize)
bij System.Windows.UIElement.Arrange(Rect finalRect)
bij System.Windows.Documents.AdornerLayer.ArrangeOverride(Size finalSize)
bij System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
bij System.Windows.UIElement.Arrange(Rect finalRect)
bij System.Windows.Documents.AdornerDecorator.ArrangeOverride(Size finalSize)
bij System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
bij System.Windows.UIElement.Arrange(Rect finalRect)
bij System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)
bij System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
bij System.Windows.UIElement.Arrange(Rect finalRect)
bij MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)
bij System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)
bij System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
bij System.Windows.UIElement.Arrange(Rect finalRect)
bij System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)
bij System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
bij System.Windows.UIElement.Arrange(Rect finalRect)
答案 0 :(得分:0)
您的窗口不在Visual Tree中。您有两种选择:
至于您对示例应用的请求,我可以向您保证,您所看到的问题难以置信难以复制。