2014-01-29 6 views
1

나는 모듈 식 프리즘 애플리케이션을 작성 중이며, 마녀는 디렉토리 (dll 파일)에서 모듈 파일을로드하고있다. 개발자로서 나는 얼마나 많은 모듈이 그 디렉토리에 있는지, 어떤 종류인지 등을 모릅니다.프리즘 모듈로 메타 데이터 전달하기

내 응용 프로그램에서는 가져온 모듈에서 메타 데이터를 가져와야합니다. 예를 들어 상태 (윈도우/패널/창 요소/유틸리티 모듈), 아이콘, 지역화 된 제목 등

각 모듈에 Module.config 파일과 같은 것을 만든 다음 주 응용 프로그램에서 ModuleInfo.Ref 경로 (한 수준 위 -> Module.config 파일 경로 가져 오기) -하지만 그렇게하지 않으려합니다.

Prism이 코드로 메타 데이터를 전달할 가능성이 있는지 궁금합니다 (메타 데이터 모드 용 인터페이스 -XML 문자열 -Dynamic 객체) 그렇다면 어떻게 구현할 수 있으며 어떤 클래스를 재정의해야합니까?

조언 해 주셔서 감사합니다.

+2

PRISM이 이와 같은 기능을 지원하는지 잘 모르시겠습니까? 하지만'Bootstrap '중에'Container'에서 생성되고 등록 된'MetadataStore' ('IMetadataStore')와 같은 모듈을 각 모듈에 삽입 한 다음 각 모듈은'Initialize ()'? – sthotakura

답변

1

모듈이로드되고 초기화 된 후 모듈의 메타 데이터를 주 응용 프로그램에 노출하려면 모듈의 메타 데이터를 Initialize 메서드에 추가하는 간단한 방법이 있습니다. 예를 들어, 모듈의 메타 데이터 저장을 담당하는 공유 서비스를 가질 수 있으며 각 모듈은 모듈을 액세스 할 수 있고 초기화 될 때 메타 데이터를 추가 할 수 있습니다.

로드하기 전에 모듈의 메타 데이터에 액세스하려면 (예 :로드 할 모듈을 결정할 때) 프리즘은이를 수행하는 데 도움이되는 기능을 제공하지 않습니다 상자의. Prism의 상호 작용 API와 관련된 여러 클래스의 기본 구현을 바꿔 맞춤 기능을 추가 할 수 있습니다 (이 내용은 here에 대해 자세히 읽을 수 있습니다).이 경우 메타 데이터를 얻기 위해 별도의 서비스를 구현하는 것이 더 좋을 것 같습니다. 그런 다음 모듈을 초기화하여 프리즘에 위임합니다.

+0

사실, 모듈 카탈로그의 구현을 변경하고 모듈에 속성을 추가 했으므로 모듈 카탈로그가 추가 속성을 읽고 메타 데이터 구조를 만들었습니다. 도와 줘서 고마워! – Zozo