요즘 Prism을 하다 보니... Region 때문에 좀 고생을 했다.
Prism 샘플을 찾아보면 보면 Module 의 Initialize에서 IoC Container에서사용할 객체를 등록하고
그 뒤에 RegionManager에 Region을 등록하는 것을 흔히 볼 수 있다.
그래서 그렇게 하다 보면 동일한 이름의 Region을 두 군데 이상에서 사용할 수 없다는 것을 알게 된다.
쉽게 해결하려면 Region 이름을 다르게 등록하면 된다.
하지만 Region으로 붙인 View 안에 또 다른 Region으로 붙인 View 가 있다면 이야기는 달라진다.
그렇다면 같은 Region 이름으로 사용하고 싶다면 어떻게 해야 할까?
이것저것 테스트해보니
하나의 RegionManager에 같은 Region을 한 곳 이상에서 사용할 수 없는 것 같았다.
보통 Region을 등록할 때 Bootstrapper에서 등록한 기본 RegionManager를 사용할 것이고
이렇게 하나의 RegionManager에 Region을 등록해버리면 같은 이름으로 여러 곳에서 사용을 못하게 된다.
그렇기 때문에 View마다 각각 RegionManager를 만들고 그 만든 RegionManager에 Region을 등록하게 되면
(그럼 Region 의 등록은 Module 의 Initialize 가 아니라 각 View (or ViewModel)에서 Region을 등록해야 한다.)
해당 문제는 완전히 자유로워지고 흔히 그냥 new 하듯이 만들어 낼 수 있다.
'Dev::DotNet > Prism' 카테고리의 다른 글
Prism - 완전 단순한 Sample Source (0) | 2013.11.26 |
---|