XamlReader выдает при загрузке generic.xaml для объединения словарей ресурсов

#wpf #xamlparseexception #xamlreader #generic.xaml

#wpf #исключение xamlparseexception #xamlreader #generic.xaml

Вопрос:

Пытаюсь загрузить generic.xaml в коде, но он выдает исключение XamlParseException. Код следующим образом:

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

Идея состоит в том, чтобы объединить словарь ресурсов в базовую страницу. Затем производные страницы могут использовать стили, цвета, кисти и т. Д. Из своего базового класса, используя {StaticResource DarkBrush} , например.

Но приведенный выше код выдает:

«, шестнадцатеричное значение 0x0C, является недопустимым символом. Строка 1, позиция 1.

Файл generic.xaml был создан в VS2010 стандартным способом. Попытался установить действие сборки на ресурс, но это тоже не сработало…

Я получил образец кода от Microsoft. Там он использовался для загрузки страницы. Любая помощь будет принята с благодарностью.

Ответ №1:

         Uri uri = new Uri("Themes/Generic.xaml", UriKind.RelativeOrAbsolute);
        var resDict = Application.LoadComponent(uri) as ResourceDictionary;
        this.Resources.MergedDictionaries.Add(resDict);
  

Комментарии:

1. Спасибо! Простое и простое решение!