예, 셸과보기를 분리하는 것이 좋습니다.
RegionManager는 영역에보기를 추가합니다. 따라서 RegionManager에 영역을 등록 할뿐만 아니라 RegionManager에보기를 등록합니다.
<Window xmlns:Regions="clr-namespace:Microsoft.Practices.Prism.Regions;assembly=Microsoft.Practices.Prism"
xmlns:Inf="clr-namespace:YourNamespace.Infrastructure;assembly=YourNamespaceInfrastructure">
<Grid>
<ContentControl
Regions:RegionManager.RegionName="{x:Static Inf:RegionNames.MainRegion}"/>
</Grid>
</Window>
지금 당신이에 상주 할 지역에 대한 뷰를 등록해야합니다 : 당신은 같은 것을 끝낼 것이다 쉘 내부
는
는
public class FirstModule : IModule
{
public void Initialize()
{
RegionManager.RegisterViewWithRegion(RegionNames.MainRegion,
typeof(MainView));
RegionManager.RegisterViewWithRegion(RegionNames.SecondRegion,
() => Container.Resolve<ISomethingViewModel>().View);
}
}
예제 코드는 두 가지 유형을 보여줍니다 등록의. 첫 번째 방법은 뷰의 첫 번째 방법이며, 두 번째 방법은 뷰 모델의 첫 번째 방법입니다.
[편집]
지역 이름이 인프라 모듈에 정적 클래스에 정의되어 있습니다
이
namespace YourNamespace.Infrastructure
{
public static class RegionNames
{
public const string MainRegion = "MainRegion";
//...
}
}
당신의 부트 스트 래퍼에서 [/ 편집]
질문을 나누십시오. 추가 된 부분은 자신의 질문에 들어가야합니다. 그렇지 않으면 여기에 못 생겨 가고 있습니다. – PVitt
네 말이 맞아. – Noich