Frage

Der Versuch, generic.xaml in Code zu laden, wirft jedoch eine xamlParseException aus. Code wie folgt:

Uri uri = new Uri("Themes/Generic.xaml", UriKind.Relative);
StreamResourceInfo info = Application.GetResourceStream(uri);
System.Windows.Markup.XamlReader reader = new System.Windows.Markup.XamlReader();

ResourceDictionary resdict = (ResourceDictionary)reader.LoadAsync(info.Stream);

this.Resources.MergedDictionaries.Add(resdict);

Die Idee ist, ein Ressourcenwörterbuch in einem Basispage zu verschmelzen. Dann können abgeleitete Seiten Stile, Farben, Pinsel usw. aus ihrer Basisklasse verwenden {StaticResource DarkBrush} zum Beispiel.

Aber der obige Code wirft:

'', Hexadezimalwert 0x0c, ist ein ungültiges Zeichen. Zeile 1, Position 1.

Die Datei generic.xaml wurde in VS2010 auf Standardweise erstellt. Versuchte, die Build -Aktion auf Ressource festzulegen, aber das funktionierte auch nicht ...

ich habe das Code Beispiel Von Microsoft. Dort wurde es verwendet, um eine Seite zu laden. Jede Hilfe wäre sehr geschätzt.

War es hilfreich?

Lösung

        Uri uri = new Uri("Themes/Generic.xaml", UriKind.RelativeOrAbsolute);
        var resDict = Application.LoadComponent(uri) as ResourceDictionary;
        this.Resources.MergedDictionaries.Add(resDict);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top