0
我一直在試圖加載我的視圖模型中的資源字典XAML文件。我能夠實例化它,並且調用它不會導致立即錯誤,但是在控制權返回到UI之後,出現錯誤彈出窗口「錯誤HRESULT E_FAIL已從調用COM組件返回」。從ViewModel參考ResourceDictionary
我做了以下內容:
- 資源字典文件位於
MyApp/ViewModels
ViewModelsResources.xaml
其中MyApp
是我的Silverlight應用程序的根文件夾 ViewModelsResources.xaml
標記生成操作:Content
,複製到輸出目錄:Copy always
,自定義工具:MSBuild:Compile
- ResourceDictionary對象被實例化(並且此代碼位於與資源di相同的文件夾中的類中ctionary文件)
ResourceDictionary VMResources = new ResourceDictionary() { Source = new Uri("/ViewModels/ViewModelsResources.xaml", UriKind.Relative) };
- 該目的是基於x通過索引然後引用:密鑰值:
Template1 = VMResources["myTemplate"] as ControlTemplate;
(同一類如上述示例代碼)
調試表明VMResources
和Template1
被轉讓良好的值。我不知道爲什麼這會拋出有關COM組件的錯誤,但是我在此ResourceDictionary被引用時隔離了它。如果我拿出引用VMResources[x]
的行,則沒有錯誤。任何幫助將非常感激。