Pregunta

Tratando de cargar genic.xaml en código pero lanza una XAMLPARSEEXCECTION. Código de la siguiente manera:

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);

La idea es fusionar un diccionario de recursos en una base de base. Luego, las páginas derivadas pueden usar estilos, colores, pinceles, etc. de su clase base usando {StaticResource DarkBrush} por ejemplo.

Pero el código anterior lanza:

'', el valor hexadecimal 0x0c, es un carácter inválido. Línea 1, posición 1.

El archivo Generic.xaml se creó en VS2010 de la manera estándar. Intenté establecer la acción de compilación en el recurso, pero eso tampoco funcionó ...

tengo el muestra de código de Microsoft. Allí se usó para cargar una página. Cualquier ayuda sería muy apreciada.

¿Fue útil?

Solución

        Uri uri = new Uri("Themes/Generic.xaml", UriKind.RelativeOrAbsolute);
        var resDict = Application.LoadComponent(uri) as ResourceDictionary;
        this.Resources.MergedDictionaries.Add(resDict);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top