Флажок, отображающийся в виде черного ящика в меню
У меня есть меню внутри панели инструментов, которое должно быть проверяемым, но когда я проверяю элементы, оно отображается как просто черный ящик (я пытался загрузить фотографию проблемы, но StackOverflow не позволил мне). При наведении курсора мыши на галочку отображается правильно. Я не понимаю этого, я пытался удалить любые стили, которые могли бы повлиять на него, но, кажется, ничто не влияет на него.
Может ли кто-нибудь помочь?
Вот XAML для пункта меню:
<ToolBar ToolBarTray.IsLocked="True" Margin="0" Padding="0" ToolBar.OverflowMode="Never">
<Button Command="com:FormatCommands.LogInCommand">
<Viewbox Width="15">
<Image Source="..ResourcesLogin.png"/>
</Viewbox>
</Button>
<Button Command="com:FormatCommands.LogOutCommand">
<Viewbox Width="15">
<Image Source="..ResourcesLogout.png"/>
</Viewbox>
</Button>
<Button Command="com:FormatCommands.GetTodaysRacesCommand">
<Viewbox Width="15">
<Image Source="..Resourceslist.png"/>
</Viewbox>
</Button>
<Menu>
<MenuItem Header="Markets">
<MenuItem IsCheckable="True" Header="British"/>
<MenuItem IsCheckable="True" Header="Irish" />
</MenuItem>
</Menu>
</ToolBar>
1 ответ:
Элемент
ToolBar
определяет некоторые стили для нескольких элементов управления, иMenu
является одним из них. Вы можете найти ключStyle
, определенный в статическом свойствеToolBar.MenuStyleKey
. Этот стиль устанавливаетBackground
в#FF212121
для панели, которая содержит флажок.К сожалению, я не верю, что есть способ изменить только фон для панели галочки, вам придется переопределить этот уродливый стиль
MenuItem
.Примечание : чтобы применить стиль в вашем случае, выполните следующие действия этого действия:
- скопируйте приведенный выше XAML в новое решение VS.
- выберите
Menu
в окне конструктора.- щелкните правой кнопкой мыши на
Menu
/ редактирование шаблона / редактирование скопировать / ввести.