1

晚上好,

我正在开发一个程序,其中一些应用程序配置信息存储在 Userconfig.xml 文件中。我通过相对 URI 将文件作为 XAML 中的 XMLDataProvider 加载:

<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 的好方法(除了获取程序集执行位置并从末尾修剪可执行文件名)?我希望这是一个有点简单的过程。任何帮助将不胜感激。

科里

4

2 回答 2

0

您是否在调试器中查看过 SavePath 的确切值?由于它是 XAML 中的 URI,因此它可能具有 XmlDocument.Save 无法理解的语法。你也可以试试 AbsoluteUri.ToString

于 2010-03-04T23:06:14.527 回答
0

在这里使用了建议

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

一切运作良好。

科里

于 2010-04-01T14:24:28.250 回答