Сохранение данных конфигурации пользователя в XML и ошибка относительного URI - PullRequest
1 голос
/ 05 марта 2010

Добрый вечер,

Я работаю над программой, в которой некоторая информация о конфигурации приложения хранится в файле Userconfig.xml.Я загружаю файл как XMLDataProvider в XAML через относительный URI:

<XmlDataProvider x:Name="UserConfigDataSource" x:Key="UserConfigDataSource" Source="UserConfig.xml" d:IsDataSource="True"/>

У меня есть несколько элементов, привязанных к элементам документа, и обработчик событий, который сохраняется в XMLDataProvider:

Private Sub SaveConfig(ByVal sender as Object, ByVal e as System.EventArgs)
    'TODO: Add event handler implementation here

    Dim SavePath As String = UserConfigDataSource.Source.LocalPath.ToString
    Dim XMLDoc = UserConfigDataSource.Document
    UserConfigDataSource.Document.Save(SavePath)
End Sub

Когда это выполняется, я получаю сообщение об ошибке «Эта операция не поддерживается для относительного URI».Есть ли хороший способ для создания абсолютного URI (кроме получения места выполнения сборки и обрезки имени исполняемого файла с конца)?Я ожидал, что это будет несколько простой процедурой.Любая помощь будет принята с благодарностью.

Кори

Ответы [ 2 ]

0 голосов
/ 01 апреля 2010

Использовал предложение ЗДЕСЬ

FileInfo config= new FileInfo("configuration.xml"); 
provider.Source = new System.Uri(config.FullName);

Все работало хорошо.

Cory

0 голосов
/ 05 марта 2010

Вы смотрели точное значение SavePath в отладчике? Поскольку это был URI в XAML, он может иметь синтаксис, не понятный XmlDocument.Save. Вы также можете попробовать AbsoluteUri.ToString

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...