@pimanov3

Как указать путь до файла во встроенных ресурсах WPF?

Указываю в XmlReader.Create путь до xml файла который я положил в ресурсы.
61c69d95c30b6149079428.png
Перепробовал некоторые способы реализация, но сталкивался с ошибкой при запуске "Не распознан префикс URI" или "Аргумент 1: не удается преобразовать из 'System.Uri' в 'string'".
XmlReader xml = XmlReader.Create(@"pack://application:,,,/Resources/data_on_calculation_types.xml");

XmlReader xml = XmlReader.Create(new Uri(@"pack://application:,,,/Resources/data_on_calculation_types.xml", UriKind.RelativeOrAbsolute));
  • Вопрос задан
  • 787 просмотров
Решения вопроса 1
@Ksarrik
Добрый день.
В вашем примере вы использовали не WPF ресурс
доступ к нему можно получить доступ как к свойству (в моем случае используется ресурс с именем Data_XMLFile):
string res=Properties.Resources.Data_XMLFile;
XmlReader xml2 = XmlReader.Create(new StringReader(res));


Если же вы хотите использовать WPF ресурс, тогда нужно выбрать этот файл xml и установить действие при сборке в Resource
61c74b4dcdc71094191470.png
Затем доступ к ресурсу можно получить следующим образом:
Uri uri = new Uri("pack://application:,,,/Resources/Data_XMLFile.xml", UriKind.Absolute);
StreamResourceInfo info = Application.GetResourceStream(uri);            
XmlReader xml = XmlReader.Create(info.Stream);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы