XamlReader getta durante il caricamento generic.xaml per unire dizionari di risorse
-
25-10-2019 - |
Domanda
Il tentativo di caricare generic.xaml in codice, ma getta una XamlParseException. Codice come segue:
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);
L'idea è quella di unire un dizionario risorse in un basepage. Poi le pagine derivate possono utilizzare stili, colori, pennelli, ecc dalla loro classe di base utilizzando {StaticResource DarkBrush}
per esempio.
Ma il codice qui sopra getta:
'', valore esadecimale 0x0C, è un carattere non valido. Linea 1, posizione 1.
Il file generic.xaml è stato creato in VS2010 modo standard. Cercato di impostare Operazione di generazione di risorse, ma che non ha funzionato neanche ...
Ho avuto la codice di esempio da Microsoft. C'è stato utilizzato per caricare una pagina. Qualsiasi aiuto sarebbe molto apprezzato.
Soluzione
Uri uri = new Uri("Themes/Generic.xaml", UriKind.RelativeOrAbsolute);
var resDict = Application.LoadComponent(uri) as ResourceDictionary;
this.Resources.MergedDictionaries.Add(resDict);