2012-03-16 239 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); 

希望這可以幫助別人與我面臨同樣的問題掙扎。