2009-12-01 4 views
0

Silverlight 3.0 응용 프로그램에는 여러 자식 컨트롤 및 기타 Silverlight 페이지의 탐색 조각으로 사용되는 셸 페이지가 있습니다. Silverlight 페이지는 프레임 객체()를 통해 셸 페이지에 포함됩니다. 페이지는 코드 숨김 파일을 통해 동적으로 순환되므로 xaml에는 페이지에 대한 직접적인 참조가 없습니다.이벤트의 부모 페이지로 돌아 오는 가장 좋은 방법은 무엇입니까?

어떻게 동적으로 포함 된 페이지가 쉘 페이지로 다시 전화 할 수 있습니까? 우리는 현재 이벤트를 사용하여 포함 된 사용자 컨트롤에서 통신하지만, 이들은 xaml에서 우리가 구독 할 수있는 알려진 이벤트입니다 ... 그래서 이벤트를 제안한다면 구체적인 예를 들어주십시오.

TIA.

답변

0

당신이 각 자식 컨트롤을 작성하는 경우 부모 페이지가 있으면 위임을 사용하여이를 수행 할 수 있습니다. 매우 일반적인 예 : 부모 컨테이너 클래스에서

public delegate void FunctionDelegate(string ChildControlName); 

: 부모 컨테이너 생성자에서

public FunctionDelegate EventFunc; 

:

 EventFunc = DoSomeAction; 

패스 자식 개체에 EventFunc 적절한 호출합니다.

0

패턴 및 관행 팀에서 개발 한 Prism을 사용하는 것이 좋습니다.

프리즘 (EventAggregator를 통해)을 사용하면 모든 이벤트 소스의 알림을 지정한 이벤트의 리스너로 푸시 할 수 있습니다. 그것은 차갑다.

이 프리즘을 통해보기 사이의 통신에 대한 비디오입니다 : http://channel9.msdn.com/posts/akMSFT/Creating-a-modular-application-using-Prism-v2-Screencast-44--Decoupled-Communication/

관련 문제