프리즘 애플리케이션에서 사용자가 트리의 항목 (별도 모듈)을 클릭하면 가운데 패널에 모듈을로드해야합니다. 가운데 창에있는 모듈 (디자이너 모듈을 말함)은 파일을 열고 경로가 주어진 경우 자체를 표시 할 수 있습니다. 파일의 경로를이 모듈에 전달하려면 어떻게해야합니까? 디자이너 모듈프리즘으로 동기화 된 메시지 전달
public DesignerViewModel(DataAccess dataAccess)// This will be injected
{
}
//The following class can create the model objects using the IDataService for getting data from remote location
public DataAccess(IDataService service)//this will be injected
{
}
데이터 액세스 개체 디자이너 모듈에 국부적이므로, I는 모듈 외부에 노출하고자 wouldnt하는 예
들어 . 그래서 등록이
public class DesignerModule : IModule
{
public void Initialize()
{
var container = ServiceLocator.Current.GetInstance<IUnityContainer>();
container.RegisterType<Object, DesignerView>("DesignerUI");
container.RegisterType<DataAccess>();
}
}
IDataService는 응용 프로그램 수준 IDataService 전체 앱의 싱글 것을
public class BootStrapper : UnityBootstrapper
{
protected override void ConfigureContainer()
{
base.ConfigureContainer();
Container.RegisterType<IDataService, DataService>();
}
}
주에 등록 된 모듈에서 수행됩니다. IDataService에서 모듈 인스턴스와 관련된 파일 경로를 전달할 수 없습니다. 중앙 창의 원하는 개수만큼 모듈을 열 수 있습니다. 트리 항목 -> 트리를 클릭하면 선택된 항목으로 이벤트가 실행됩니다. id-> app은 항목 ID에 해당하는 경로를 찾고 호출합니다. 모듈.
_regionManager.AddToRegion ("CenterRegion", DesignerModule);을 말할 때 어떻게 경로를 전달합니까? Prism은 모든 의존성 주입을 아름답게 할 것입니다. 그러나 경로를 전달하는 방법은 큰 문제입니다.
@ Radik- 이것은 내가 원하는 것만은 아닙니다. 모듈 생성 자체는 경로 정보를 포함하는 트리 모듈의 이벤트 때문입니다. 이 이벤트는 메인 애플리케이션에 의해 처리되고 mainapp는 애플리케이션의 가운데 창에 디자이너 모듈을 생성합니다. 모듈 인스턴스 생성 시점에서 경로 정보를 전달하는 것이 좋습니다. – Jimmy