내보기 모델에서 리소스 사전 XAML 파일을로드하려고했습니다. 인스턴스를 생성 할 수 있고 즉시 호출이 발생하지 않지만 컨트롤이 UI로 반환 된 후에 "COM 컴포넌트로의 호출에서 HRESULT E_FAIL 오류가 반환되었습니다"라는 오류 팝업이 나타납니다.Reference ResourceDictionary from ViewModel
ResourceDictionary의 파일이ViewModelsResources.xaml
이
MyApp
는
ViewModelsResources.xaml
이 빌드 작업 표시되어 내 Silverlight 응용 프로그램의 루트 폴더입니다 MyApp/ViewModels
에 위치한
- : 출력 디렉토리에 복사
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]
을 참조하는 줄을 꺼내더라도 오류는 없습니다. 어떤 도움이라도 대단히 감사 할 것입니다.