2011-04-12 4 views
0

프레임에 포함 된 페이지에서 기능을 호출해야하는 창에 단추가 있습니다. 프레임 안의 페이지는 기본 윈도우에 포함 된 탐색에 따라 변경되므로 프레임 내의 현재 페이지를 알 수 있습니다.WPF "Master"창에서 페이지 호출 기능

프레임 페이지에서 함수를 호출하는 방법에 대한 도움을받을 수 있습니까?

답변

0

MVVM 관점에서이 접근법을 사용하려면 실제 뷰를 사용하지 말고 ViewModel을 추상화해야합니다. 이 경우, 부모 Window는 아마도 프레임/탭 컨트롤/컨테이너에서 페이지를 백업하는 일종의 콜렉션을 포함하는 ViewModel에 의해 뒷받침 될 것입니다. 이 경우 버튼은 윈도우 백업 ViewModel의 명령에 연결하고 컬렉션의 선택된 항목을 사용하여 함수에 액세스해야합니다. 이런 방식으로 직접적인 참조가 없다면 (예를 들어 다른 모듈이나 프레임 내용을로드하는 것과 같이) Prism/CAL 라이브러리에서 EventAggregator를 사용하고 윈도우 버튼을 눌렀을 때 이벤트를 게시하고 페이지를 열어 해당 이벤트를 받고 거기에서 통화를 처리하십시오. EventAggregator는 깨끗한 방법으로 모듈 간 논리를 처리하는 매끄러운 방법 일 수 있습니다.

+0

콘텐츠 프레임 내에서 함수를 호출하려면 다음을 사용하여 종료해야합니다. 함수에서 데이터를 다시 얻기 위해 객체 배열을 전달할 수도 있습니다. frmMain.Content.GetType(). GetMethod ("SaveFrm"). 호출 (frmMain.Content, 새 개체 [0]); – Brandon