0
我需要在運行時從某些程序集加載我的ResourceDictionary。從WPF的EmbeddedResource加載並檢查ResourceDictionary Uri
首先我設置BuildAction的的資源字典的與頁,並使用代碼來構建URI。
var uri = new Uri(string.Format(@"/{0};component\Resources\MyResource.xaml",
assemblyName), UriKind.RelativeOrAbsolute);
這樣的工作,但後來我意識到,我需要檢查大會,之前我設置我的ResourceDictionary的URI。因爲如果ResourceDictionary不在程序集中,那會引發異常。
var rd = new ResourceDictionary
{
Source = uri
};
所以我把我的資源字典的BuildAction的與EmbeddedResource,爲了看到的ResourceDictionary在裝配用下面的代碼:
var hasResource = assembly.GetManifestResourceNames().
Any(resourceName => resourceName.EndsWith("MyResource.xaml"));
但現在,我不能使用uri加載ResourceDictionary。我盡我所能,但沒有成功。
有什麼想法?謝謝!
這幾乎就像是我的代碼。如果MyResource.xaml不在程序集中,那也會引發異常。 – Ivan
你說得對,我完全忽略了你的assemblyName變量。你曾經試過將頁面的構建操作設置爲? –
看來,你忽略了任何我的assemblyName變量; - )是的,我已經試過在開始。我的問題不是從頁面訪問資源。它正在將Uri設置爲ResourceDictionary的源。如果Resource.xaml不在彙編中,則會出現異常。 – Ivan