#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. Спасибо! Простое и простое решение!