我有以下用于TabControl的数据模板。基本上,它会在选项卡中添加一个X按钮,以便用户可以关闭。我想添加一个带有几个命令的上下文菜单。现在,我刚刚在上下文菜单中添加了一个冗余的Close项。但是,当我执行此操作时,我的输出窗口显示“BindingExpression路径错误:在'对象'''String'上找不到'CloseCommand'属性...”。将X按钮绑定到CloseCommand工作正常,所以我不明白为什么它不适用于上下文菜单项。有什么想法吗?
<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 :(得分: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>