2009-04-04 6 views
0

TabPage1과 TabPage2가있는 TabControl이 있습니다. TabPage1에는 TabPage11과 TabPage12가 두 개인 TabControl1이 있습니다.
TabPage2에는 TabPage21과 TabPage22라는 두 개의 항목이있는 TabControl2가 있습니다.ViewModels 간 통신 방법

각 항목 (TabPage11, TabPage12, TabPage21 및 TabPage22)에는 고유 한보기 (UserControl 형식)와 ViewModel이 있습니다. 각보기에는 dataGrid가 있습니다.

이제 각 DataGrid에 대해 ExportToExcel 함수를 구현하려고합니다. ExportToExcel 버튼을 각 tabItem에 넣을 수는 있지만보기에는 좋지 않습니다. 그래서 하나의 버튼을 메인 윈도우에 두었습니다. 사용자가 버튼을 클릭하면 선택된 tabItem의 dataGrid가 처리됩니다.

문제는 mainWindow의 버튼이 선택한 tabItem의 ViewModel에 내보내는 방법을 알지 못한다는 것입니다.

제안 사항? 미리 감사드립니다. Steve

답변

0

주요 기능은 탭 컨트롤러의 정보를 대조해야하며 올바른보기 모델에서 정보를 추출하는 것이 맞다면 하위 탭 컨트롤러의 정보를 대조해야합니다.

0

당신이 당신의 수출 버튼에 바인드 ICommand를 사용하는 가정, 왜 바인딩을 통해 명령 매개 변수를 지정하지 : 선택된 탭은 다음 명령의 Execute 방법에 매개 변수로 전달됩니다

<Button Command="{Binding ExportToExcelCommand}" CommandParameter="{Binding SelectedItem, ElementName=MyTabControl}">Export</Button>