2012-03-20 3 views
0

TabControl에 사용하고있는 다음 데이터 템플릿이 있습니다. 기본적으로, 그것은 사용자가 닫을 수 있도록 탭에 X 버튼을 추가합니다. 몇 가지 명령으로 상황에 맞는 메뉴를 추가하고 싶습니다. 지금은 컨텍스트 메뉴에 중복 된 닫기 항목을 추가했습니다. 그러나 이것을 실행할 때 출력 창에 "BindingExpression path error : 'CloseCommand'속성이 'object' ''String '..."에 없습니다. X 버튼을 CloseCommand에 바인딩하면 컨텍스트 메뉴 항목에 대해 작동하지 않는 이유를 이해할 수 없으므로 올바르게 작동합니다. 어떤 아이디어?TabControl ContextMenu 명령을 바인딩하는 방법은 무엇입니까?

<DataTemplate x:Key="CloseableTabItemTemplate"> 
    <DockPanel Width="120"> 
    <Button Command="{Binding Path=CloseCommand}" 
      Content="X"/> 
    <ContentPresenter 
     Content="{Binding Path=DisplayName}" 
     VerticalAlignment="Center"> 

     <ContentPresenter.ContextMenu> 
     <ContextMenu> 
      <MenuItem Header="Close" Command="{Binding Path=CloseCommand}"/> 
     </ContextMenu> 
     </ContentPresenter.ContextMenu> 
    </ContentPresenter> 
    </DockPanel> 
</DataTemplate> 

답변

0

알아 냈어. 나는 도킹 패널에 상황에 맞는 메뉴를 넣는 것을 끝내었다.

<DataTemplate x:Key="CloseableTabItemTemplate"> 
    <DockPanel Width="120"> 
     <DockPanel.ContextMenu> 
     <ContextMenu> 
      <MenuItem Header="Close" Command="{Binding Path=CloseCommand}"/> 
     </ContextMenu> 
     </DockPanel.ContextMenu> 

    <Button Command="{Binding Path=CloseCommand}" 
      Content="X"/> 
    <ContentPresenter 
     Content="{Binding Path=DisplayName}" 
     VerticalAlignment="Center"> 

    </ContentPresenter> 
    </DockPanel> 
</DataTemplate> 
관련 문제