WPF ItemContaierStyle错误的DataContext

时间:2018-08-13 08:57:09

标签: wpf

我有一个带有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。

0 个答案:

没有答案