2011-05-06 94 views
2

我的文件「sample.xml」在我的項目設置爲內容。Application.GetContentStream返回null爲內容Uri

我運行這段代碼:

Uri uri = new Uri("/sample.xml", UriKind.Relative); 
    StreamResourceInfo contentStream = Application.GetContentStream(uri); 

爲什麼它返回null contentStream?

回答

1

這意味着它可能沒有找到該文件。路徑是否正確?

返回值

類型:System.Windows.Resources.StreamResourceInfo

甲StreamResourceInfo包含位於給定URI的內容數據文件。 如果找不到鬆散資源,則返回null。

+0

該路徑是正確的。但我已經嘗試了所有的變化,仍然是一樣的。 – husayt 2011-05-07 00:09:57

+0

@husayt這看起來很明顯,但是你確定要加載一個'.xml'文件而不是'.xaml'嗎? – Aleadam 2011-05-07 00:16:34

+0

文件名稱正確。 – husayt 2011-05-07 01:10:22

0

您必須設置文件的Build Action爲內容,並Copy To Output DirectoryCopy AlwaysCopy if newer

enter image description here

+0

如果文件應該保存在程序集外部並通過正常的IO方法訪問,則需要說明什麼。問題是關於嵌入到程序集中的資源。 – ygoe 2013-02-10 00:22:22

+3

您正在混合資源文件和內容文件。內容文件是與應用程序明確相關的獨立文件,資源文件嵌入程序集中。您無法使用「Application.GetContentStream」檢索資源文​​件。您必須使用「Application.GetResourceStream」嵌入資源文件。 – 2013-02-13 16:15:33