我有一个带有TabControl的窗口。在那个TabControl中,我想要选项卡项的ContextMenu。我通过给TabControl这样的ItemContainerStyle来实现
<UILib:ExtendedTabControl x:Name="MainTabControl"
ItemsSource="{Binding MainTabItems}"
SelectedItem="{Binding SelectedMainTabItem, Mode=TwoWay}"
AllowAddNew="False"
Margin="0,1,0,0">
<UILib:ExtendedTabControl.ItemContainerStyle>
<Style TargetType="{x:Type UILib:ExtendedTabItem}">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Header="Close Tab" Command="{Binding MainTabControlCloseTabCommand}" />
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
</UILib:ExtendedTabControl.ItemContainerStyle>
</UILib:ExtendedTabControl>
据我所知,这个问题是MenuItem的DataContext应该是TabItem的模型,在这种情况下是ExtendedTabItem。相反,这是我的窗口。在我看到的所有其他情况下,它应该是TabItem。
我的问题是,我想从我的命令访问ExtendedTabItem。如果我通过CommandParameter传递DataContext,那是我的窗口,而不是ExtendedTabItem。