2009-04-24 11 views
0

Ich versuche, eine XAML-Datei zur Laufzeit zu laden. Mein Code sieht so aus:XamlReader.Load (XmlReader) "Stapel leer" XamlParseException

StringReader stringReader = new StringReader(xamlString);   
      XmlReader xmlReader = XmlReader.Create(stringReader); 
      content = XamlReader.Load(xmlReader); 

Es ist im Grunde Kopie einfügen von msdn. Die Zeile XamlReader.Load gibt eine XamlParseException mit der inneren Ausnahme "Stack Empty at line ...." aus.
Die Zeile, auf die es zeigt, ist das schließende Tag des Benutzersteuerelements, das in der XAML-Zeichenfolge gefunden wird, der letzten Zeile der Zeichenfolge.

Der Grund XAML-Struktur ist als

<UserControl> 
    <UserControl.Resources> 
    </UserControl.Resources> 
    <Grid> 
    </Grid> 
</UserControl> 

googeln folgt nichts auftauchen. Jede Hilfe bei der Suche nach einer Lösung wird sehr geschätzt.

+0

werden Sie mit WPF? – TStamper

+0

Ja, ich benutze wpf und xaml. – JRobbers

Antwort

0

Ich habe gerade angefangen, Blöcke aus meinem XAML zu hacken, bis der Fehler weg ist. Ich konnte es verengen, um diese Zeile in meiner Benutzersteuererklärung

<UserControl 
... 
WPFManagement:ObjectReference.Declaration="{WPFManagement:ObjectReference thisPointer}" 
...> 

nicht genau gefunden unten sicher, warum das einen Stapel Leer Ausnahme auslöst, aber es funktioniert.

Hier ist der gesamte Kopf mit dem Täter in fett

<UserControl 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:WPFManagement="clr-namespace:A;assembly=A" 
     xmlns:WPFControls="clr-namespace:B;assembly=B" 
     xmlns:ModuleUI="clr-namespace:C;assembly=C" 
     xmlns:GeneralUI="clr-namespace:D;assembly=D" 
     **WPFManagement:ObjectReference.Declaration="{WPFManagement:ObjectReference thisPointer}"** 
     mc:Ignorable="d" 
     WPFControls:UIExtension.Caption="Filler" 
     WPFControls:UIExtension.Icon="Icon" 
     d:DesignWidth="910" 
     d:DesignHeight="730"> 
Verwandte Themen