XAML DesignSurface对象引用未设置为对象的实例

时间:2014-09-30 13:14:16

标签: c# wpf xaml designer

我得到"对象引用未设置为对象的实例"在一些样式/模板XAML代码中。我做了what this guy suggested并附加了第二个Visual Studio实例来调试它。果然,当我做了空白更改并保存它时,异常突然出现。

然而,它并不像它有多大帮助。这是内部NullReferenceException的堆栈跟踪:

  

at Microsoft.Expression.DesignSurface.View.SceneView.SaveGuidesForDocument()   在Microsoft.Expression.DesignSurface.View.SceneView.PrepareDocumentForSaving()   在Microsoft.Expression.DesignHost.Isolation.Remoting.RemoteDesignerView。< Microsoft.Expression.DesignHost.Isolation.Remoting.IRemoteDesignerView.PrepareDocumentForSaving> b__18()   在Microsoft.Expression.DesignHost.Isolation.Remoting.STAMarshaler.Call.InvokeWorker()

以下是其他所有内容:

enter image description here

如何判断代码中的哪些错误导致此NullReferenceException?

1 个答案:

答案 0 :(得分:1)

我偶然发现了什么是错的 - 当然不是因为任何VS调试。

显然如果您的自定义控件没有公共或受保护的无参数构造函数,那么设计将无法呈现它。在我的情况下,我已经向默认构造函数添加了一个参数,这打破了设计师。如果你添加一个默认构造函数但保持私有(因为你故意想阻止子类使用它),那么设计师仍然会破坏。