Was hat die NullReferenceException in WpfXamlLoader.TransformNodes () verursacht?
-
28-10-2019 - |
Frage
Ich versuche, ein Problem aufzuspüren, das nur im Release-Modus auftritt und höchstwahrscheinlich durch die ungültige Verschleierung einer Eigenschaft verursacht wird.Ich weiß, dass es beim Initialisieren eines bestimmten Steuerelements passiert, aber dieses Steuerelement ist riesig.Ich habe einen Tag damit verbracht, alle XAML- und Bindungen zu durchlaufen, und kann immer noch nicht erkennen, was diese Ausnahme verursacht.
Gibt es eine Möglichkeit, weitere Informationen zu erhalten?Um zu wissen, was diese Ausnahme verursacht hat?
Exception : System.NullReferenceException
Message : Object reference not set to an instance of an object.
Source : PresentationFramework
Help :
Stack :
at System.Windows.Markup.WpfXamlLoader.TransformNodes(XamlReader xamlReader, XamlObjectWriter xamlWriter, Boolean onlyLoadOneNode, Boolean skipJournaledProperties, Boolean shouldPassLineNumberInfo, IXamlLineInfo xamlLineInfo, IXamlLineInfoConsumer xamlLineInfoConsumer, XamlContextStack`1 stack, IStyleConnector styleConnector)
at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
at MyClass.InitializeComponent()
Lösung 2
Es scheint nicht möglich zu sein, eine detailliertere Ausnahmemeldung zu erhalten.Die problematische XAML in kleinere Teile zu unterteilen, ist der richtige Weg.
Andere Tipps
Ich kenne keine Möglichkeit, eine detailliertere Ausnahmemeldung zu erhalten, aber es könnte zumindest für andere Personen nützlich sein, mögliche Ursachen zu kennen.Ich habe gerade einen NullReferenceException
in WpfXamlLoader.TransformNodes
bis zu einem DependencyProperty
verfolgt, der mit DependencyProperty.Register(string, Type, Type)
registriert wurde.Ändern
public static readonly DependencyProperty FooProperty = DependencyProperty.Register(
nameof(Foo), typeof(object), typeof(Bar));
bis
public static readonly DependencyProperty FooProperty = DependencyProperty.Register(
nameof(Foo), typeof(object), typeof(Bar), new FrameworkPropertyMetadata(null));
hat das Problem behoben.