2011-02-16 7 views
1

중첩 탭이 포함 된 UI를 디자인하려고하지만 MVVM 방식으로 중첩 탭을 제거하는 방법에 대한 정보를 찾지 못하는 것 같습니다.WPF를 사용하여 중첩 탭 닫기?

<TabControl Name="ProjectTabControl" DockPanel.Dock="Top" ItemsSource="{Binding ProjectTabs}" IsSynchronizedWithCurrentItem="True"> 
    <TabControl.ContentTemplate> 
     <DataTemplate> 
     <TabControl DockPanel.Dock="Top" ItemsSource="{Binding FileTabs}" Padding="1"> 
      <Button Command="{Binding CloseTabCommand}" CommandParameter="TabItem" /> 
     </TabControl> 
     </DataTemplate> 
    </TabControl.ContentTemplate> 
</TabControl> 

내 질문은 : 어떤 인수 (?들) 내가 CommandParameter 전달 될, 어떻게 내가 뷰 모델에 영향을 미치는 것은 적절를 제거해야 다음

은 (간결 냈다) 내 XAML입니다 탭?

답변

1

WPF에서 M-V-VM 패턴을 구현하는 방법에 대한 확실한 이해가없는 것처럼 보입니다. DataBinding을 이해하고 있지만 샘플에서 보여주는 패턴은 MVVM에 실제로 필요한 ViewModels 및 Commands에 대한 이해가 부족한 것 같습니다.

아래 링크 된 문서와 사용하는 샘플 애플리케이션을 검토하십시오. 당신이해야 할 일이 여기서 보여지며 실행하기가 쉽다는 것을 발견해야합니다.

The Model-View-ViewModel (MVVM) Design Pattern for WPF

나는이 경찰 아웃은 아닌 것 같아 희망하지만 당신이 가고 싶은 곳에 당신을 얻기 위해 링크 된 문서의 재 게시 상당한 양의 필요합니다. 기사를 읽고 샘플을 살펴보고 문제가 계속되면이 질문에 게시하십시오. 그러면 꼭 지키도록하겠습니다.

+0

답변 해 주셔서 감사합니다. 나는 인정할 것이다 - 나는 이것 모두에 아주 새롭다. 몇 번 링크 된 기사를 읽었지만, 대부분의 개념에 익숙하지 않은 사람에게는 약간 위협적입니다. 조쉬 스미스의 작업을 평신도의 말로 번역 할 때 매우 도움이되었습니다. http://codingtales.com/2010/02/06/Creating-a-Complete-Tabbed-Interface-in-WPF-using- MVVM /. – Quintalea

+0

ViewModel에 정보를 전달하는 올바른 방법은 나를 혼란스럽게 만드는 개념입니다. CommandParameter를 사용하고 있지만 올바른 응용 프로그램이 아닌 것 같습니다. 위의 기사는 OnPropertyChanged를 청취하여 완료되었음을 나타내는 것 같지만 MVVM Light에서 OnPropertyChanged를 사용하는 방법을 파악할 수 없습니다. 미안, 내가 말했듯이, 나는이 모든 과정에 완전히 새로운 것이다. – Quintalea

+0

댓글 스팸에 죄송합니다. 좋아, 내가 언급 한 기사를 사용하여 코드를 작동시키고, 이벤트 핸들러를 설정하고, 적절한 명령 바인딩과, 선택된 탭 인덱스를 중계하는 변수를 가져왔다. 내 질문은 지금 : 중첩 된 탭에 대해 각 작업 영역 (ProjectTabs에있는 이벤트 핸들러와 컬렉션을 별도로 처리하는 FileTabs에있는 이벤트 핸들러)을 갖도록 설정하는 올바른 방법인가, 아니면 처리하는 이벤트 핸들러에 대한 올바른 방법인지 여부입니다. 두 탭 모두에서 호출? 미안 해요, 좀 잃었어요. – Quintalea

관련 문제