在菜单中复选标记显示为黑匣子

时间:2013-12-17 19:57:06

标签: c# wpf xaml drop-down-menu menuitem

我在工具栏中有一个菜单需要检查,但是当我检查项目时它只是一个黑盒子(我试图上传问题的照片,但StackOverflow不会让我)。当鼠标悬停在复选标记上时,渲染正确。我不明白我已经尝试删除任何可能影响它的样式但似乎没有任何影响它。

有人可以帮忙吗?

以下是菜单项的XAML:

<ToolBar ToolBarTray.IsLocked="True" Margin="0" Padding="0" ToolBar.OverflowMode="Never">
    <Button Command="com:FormatCommands.LogInCommand">
        <Viewbox Width="15">
            <Image Source="..\Resources\Login.png"/>
        </Viewbox>                        
    </Button>
    <Button Command="com:FormatCommands.LogOutCommand">
        <Viewbox Width="15">
            <Image Source="..\Resources\Logout.png"/>
        </Viewbox>
    </Button>
    <Button Command="com:FormatCommands.GetTodaysRacesCommand">
        <Viewbox Width="15">
            <Image Source="..\Resources\list.png"/>
        </Viewbox>
    </Button>
    <Menu>
        <MenuItem Header="Markets">
            <MenuItem IsCheckable="True" Header="British"/>
            <MenuItem IsCheckable="True" Header="Irish" />
        </MenuItem>
    </Menu>            
</ToolBar>

1 个答案:

答案 0 :(得分:2)

ToolBar元素为一些控件定义了一些样式,Menu就是其中之一。您可以找到Style静态属性中定义的ToolBar.MenuStyleKey密钥。该样式是为包含复选标记的Panel设置Background#FF212121

不幸的是,我不相信有办法只改变复选标记面板的背景,你必须覆盖那种丑陋的MenuItem样式。

注意:要获得在您的案例中应用的样式,请按以下步骤操作:

  1. 在新的VS解决方案中复制上述XAML。
  2. 在设计器窗口中选择Menu
  3. 右键单击Menu /编辑模板/编辑副本/回车。