2012-03-16 136 views
3

我试图将c#中的资源字典源设置为项目中文件夹的位置,但得到上述错误。URI无效:无法确定URI的格式 - C#

有人能告诉我这个问题是什么吗?

继承人的代码:

myResourceDictionary.Source = new Uri("../Resources/Styles/Shared.xaml"); 

请让我知道,如果你需要的信息了。

+0

由于这是一个文件路径,所以使用\而不是/。 – jrummell 2012-03-16 13:37:08

回答

8

,你甚至传递UriKind.Relative争吵后使用UriKind.Relative

myResourceDictionary.Source = new Uri("../Resources/Styles/Shared.xaml", UriKind.Relative); 
1

我一直运行到同样的问题。怪异位是一些URI来XAML网页使用@Magnus建议的方法工作 - 但他们大多会抛出:

The format of the URI could not be determined

例外。

最后,我读了Pack Uris为WPF应用程序,它解决了我的问题100%。

,我开始使用的URL是这样的:

// ResourceFile is in the Root of the Application 
myResourceDictionary.Source = 
    new Uri("pack://application:,,,/ResourceFile.xaml", UriKind.RelativeOrAbsolute); 

// ResourceFile is in the Subfolder of the Application 
myResourceDictionary.Source = 
    new Uri("pack://application:,,,/SubFolder/ResourceFile.xaml", UriKind.RelativeOrAbsolute); 

希望这可以帮助别人与我面临同样的问题挣扎。