TabControl的ContextMenu"闪烁"第二次打开的时候

时间:2012-11-25 17:23:10

标签: c# wpf contextmenu tabcontrol

我的ContextMenu在再次打开时显示一种奇怪的行为,即第二次“右键单击”以使菜单关闭并再次在新位置打开;该菜单是TabControl

的一部分

基本上,当我右键单击TabControl菜单正常打开时,但如果我在菜单已经打开时再次右键单击,则旧菜单消失,新菜单(在新鼠标位置)在正常开放之前“眨眼”一次。看起来菜单很快就会打开,然后关闭,然后正常打开。

首先我认为它可能与点击TabControl时引发的其他事件有关,但删除此事件没有帮助。

如果有人想要一些代码,请询问。但我认为代码没有用,因为这里的相关代码完全是微不足道的。

修改

<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <TabControl Height="287" HorizontalAlignment="Left" Margin="12,12,0,0" Name="tabControl1" VerticalAlignment="Top" Width="479">
        <TabControl.ContextMenu>
            <ContextMenu IsEnabled="True" StaysOpen="True">
                <MenuItem Header="Test1"></MenuItem>
                <MenuItem Header="Test1"></MenuItem>
                <MenuItem Header="Test1"></MenuItem>
                <MenuItem Header="Test1"></MenuItem>
                <MenuItem Header="Test1"></MenuItem>
                <MenuItem Header="Test1"></MenuItem>
                <MenuItem Header="Test1"></MenuItem>
                <MenuItem Header="Test1"></MenuItem>
            </ContextMenu>
        </TabControl.ContextMenu>
        <TabItem Header="tabItem1" Name="tabItem1">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="40*" />
                    <ColumnDefinition Width="150*" />
                </Grid.ColumnDefinitions>
            </Grid>
        </TabItem>
    </TabControl>
</Grid>
</Window>

没有其他代码添加到.cs文件中,此行为会出现。

0 个答案:

没有答案