2012-03-20 9 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> 
関連する問題