2010-03-11 3 views
3

Prism 사용 - WPF 응용 프로그램에서 탐색을 처리하는 가장 좋은 방법은 무엇입니까? 그리고 어떻게 이것을 적용합니까? 모범 사례가 있습니까?PRISM을 사용한 탐색을 처리하는 가장 좋은 방법은 무엇입니까?

내 응용 프로그램에서 나는 현재 Event Aggregation을 사용하고 있습니다. 프로그램에서 네비게이션을 초래해야하는 메뉴 항목이나 다른 항목은 이벤트를 게시 할 것이고 게시 된 이벤트가 나타내는 뷰를 여는 모듈은 그렇게 할 것입니다. 이것은 잘 작동하지만 프리즘을 사용한 탐색을 처리하는 최선의 방법이 아니라는 느낌이 들었습니다. 그렇지?

답변

3

적어도 다른 프리즘과 마찬가지로 좋은 방법입니다. 내가 전에 해본 한 가지 방법은 하나의 Module/Class를 "네비게이션 브로커"로 설정하는 것입니다. MDI 유형의 애플리케이션의 경우 창의성이 부족하기 때문에 일반적으로 WindowManager라고 부릅니다. 이 사람은 IRegionManager 및 IEventAggregator를 주입하고 "새 창"또는 "탐색 대상"유형의 이벤트를 수신하고 영역을 적절히 변경/생성합니다. 당신이 약간 영리 얻고 싶은 경우에, 당신은 범위 RegionManagers를 사용할 수 있습니다 :

http://msdn.microsoft.com/en-us/library/cc707903.aspx

http://blogs.msdn.com/erwinvandervalk/archive/2009/04/29/how-to-build-an-outlook-style-application-with-prism-v2-part-2.aspx

이 전술 (그리고 일반적으로 이벤트 집계 측면을 사용하여)의 주된 문제는 그 어떤 CompositePresentationEvents 당신 여러 모듈 또는 적어도 모으기 모듈의 "외부"에서 처리해야하는 경우 공통 위치에서 선언해야합니다 (일반적으로 인프라라고하는 프로젝트에 넣습니다). 이것은 지나치게 좋아하지 않습니다.

+0

답변 해 주셔서 감사합니다. 탐색 브로커 아이디어가 합리적으로 들립니다. 나는 똑같은 짓을한다. 모듈 당 하나의 중개인이있다. 범위가 지정된 지역 관리자를 살펴 봅니다. – stiank81

관련 문제