2017-02-03 20 views
0

В настоящее время, когда IsChecked=true MahApps показывает галочку в левой части от MenuItem.Change MenuItem style when IsCheckable = true и IsChecked = true

Я хочу изменить стиль MenuItem когда IsCheckable=True и IsChecked=true без потери стилей MahApps по умолчанию, подобно Полноэкранного кнопки на Visual Studio:

Visual Studio Menu

Есть ли простой способ сделать это?

ответ

1

Вы можете основывать свой собственный стиль на стиль MetroMenuItem и установить/отменить любое свойство MenuItem:

<MenuItem Header="Item..." IsCheckable="True"> 
    <MenuItem.Style> 
     <Style TargetType="{x:Type MenuItem}" BasedOn="{StaticResource MetroMenuItem}"> 
      <Style.Triggers> 
       <MultiTrigger> 
        <MultiTrigger.Conditions> 
         <Condition Property="IsCheckable" Value="True" /> 
         <Condition Property="IsChecked" Value="True" /> 
        </MultiTrigger.Conditions> 
        <MultiTrigger.Setters> 
         <!-- set any properties you want here...--> 
         <Setter Property="FontSize" Value="30" /> 
        </MultiTrigger.Setters> 
       </MultiTrigger> 
      </Style.Triggers> 
     </Style> 
    </MenuItem.Style> 
</MenuItem> 
+0

С вашего сниппета я могу установить границы, однако я не могу удалить «галочку» MahApps добавляет по умолчанию, когда 'IsChecked = true' – JobaDiniz

+0

Вам необходимо установить свойство Template на свой собственный элемент ControlTemplate. – mm8