在视觉状态之间切换时WPF中的致命运行时错误

时间:2011-09-21 13:12:04

标签: c# wpf blend visualstatemanager

在特定情况下,我有时会遇到此错误。它恰好发生在我从视觉状态切换到另一个视觉状态时。我假设它来自一个糟糕的属性动画,但我想知道这个异常发生的条件是什么。 以下是错误消息:

  

运行时遇到了致命错误。错误的地址是0x58e3ba0d,在线程0xabc上。错误代码是0x80131623。此错误可能是CLR中的错误,也可能是用户代码的不安全或不可验证部分中的错误。此错误的常见来源包括COM-interop或PInvoke的用户封送错误,这可能会破坏堆栈。

提前谢谢

1 个答案:

答案 0 :(得分:0)

我想我找到了解释:在状态转换期间,我试图折叠部分UI。在这些部分中,有一些控件(按钮)附加了几个行为。

经过一些测试后,我注意到,折叠一个附加了行为的控件似乎会引发异常。 Collapsing删除对对象的引用,并且附加的行为留有空引用,使其引发异常。 我不知道到底发生了什么,但我很确定这是原因。它似乎也发生了“隐藏”的可见性。因此,目前我发现的唯一解决方法是降低控件的不透明度,并将其高度设置为0。

如果有人找到了更好的方法来避免这个问题......