zoukankan      html  css  js  c++  java
  • ControlTemplate in WPF —— Menu

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
                        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
                        mc:Ignorable="d">
    
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="Shared.xaml" />
      </ResourceDictionary.MergedDictionaries>
    
      <!-- SimpleStyles: Menu -->
    <!--<SnippetMenu>-->    
      <Style x:Key="{x:Type Menu}"
             TargetType="{x:Type Menu}">
        <Setter Property="OverridesDefaultStyle"
                Value="True" />
        <Setter Property="SnapsToDevicePixels"
                Value="True" />
        <Setter Property="Template">
          <Setter.Value>
            <ControlTemplate TargetType="{x:Type Menu}">
              <Border BorderThickness="1">
                <Border.BorderBrush>
                  <LinearGradientBrush StartPoint="0,0"
                                       EndPoint="0,1">
                    <LinearGradientBrush.GradientStops>
                      <GradientStopCollection>
                        <GradientStop Color="{DynamicResource BorderLightColor}"
                                      Offset="0.0" />
                        <GradientStop Color="{DynamicResource BorderDarkColor}"
                                      Offset="1.0" />
                      </GradientStopCollection>
                    </LinearGradientBrush.GradientStops>
                  </LinearGradientBrush>
    
                </Border.BorderBrush>
                <Border.Background>
                  <LinearGradientBrush EndPoint="0.5,1"
                                       StartPoint="0.5,0">
                    <GradientStop Color="{DynamicResource ControlLightColor}"
                                  Offset="0" />
                    <GradientStop Color="{DynamicResource ControlMediumColor}"
                                  Offset="1" />
                  </LinearGradientBrush>
                </Border.Background>
                <StackPanel ClipToBounds="True"
                            Orientation="Horizontal"
                            IsItemsHost="True" />
              </Border>
            </ControlTemplate>
          </Setter.Value>
        </Setter>
      </Style>
    <!--</SnippetMenu>-->    
    
        <!--<SnippetContextMenu>-->
      <Style TargetType="{x:Type ContextMenu}">
        <Setter Property="SnapsToDevicePixels"
                Value="True" />
        <Setter Property="OverridesDefaultStyle"
                Value="True" />
        <Setter Property="Grid.IsSharedSizeScope"
                Value="true" />
        <Setter Property="HasDropShadow"
                Value="True" />
        <Setter Property="Template">
          <Setter.Value>
            <ControlTemplate TargetType="{x:Type ContextMenu}">
              <Border x:Name="Border"
                      Background="{StaticResource MenuPopupBrush}"
                      BorderThickness="1">
                <Border.BorderBrush>
                  <SolidColorBrush Color="{StaticResource BorderMediumColor}" />
                </Border.BorderBrush>
                <StackPanel IsItemsHost="True"
                            KeyboardNavigation.DirectionalNavigation="Cycle" />
              </Border>
              <ControlTemplate.Triggers>
                <Trigger Property="HasDropShadow"
                         Value="true">
                  <Setter TargetName="Border"
                          Property="Padding"
                          Value="0,3,0,3" />
                  <Setter TargetName="Border"
                          Property="CornerRadius"
                          Value="4" />
                </Trigger>
              </ControlTemplate.Triggers>
            </ControlTemplate>
          </Setter.Value>
        </Setter>
      </Style>
        <!--</SnippetContextMenu>-->
    
      <MenuScrollingVisibilityConverter x:Key="MenuScrollingVisibilityConverter" />
      <Geometry x:Key="DownArrow">M 0,0 L 3.5,4 L 7,0 Z</Geometry>
      <Geometry x:Key="UpArrow">M 0,4 L 3.5,0 L 7,4 Z</Geometry>
      <Geometry x:Key="RightArrow">M 0,0 L 4,3.5 L 0,7 Z</Geometry>
    
      <Style x:Key="MenuScrollButton"
             TargetType="{x:Type RepeatButton}"
             BasedOn="{x:Null}">
        <Setter Property="ClickMode"
                Value="Hover" />
        <Setter Property="MinWidth"
                Value="0" />
        <Setter Property="MinHeight"
                Value="0" />
        <Setter Property="Template">
          <Setter.Value>
            <ControlTemplate TargetType="{x:Type RepeatButton}">
              <DockPanel Background="Transparent"
                         SnapsToDevicePixels="true">
                <Rectangle DockPanel.Dock="Right"
                           x:Name="R1"
                           Width="1"
                           Fill="Transparent" />
                <Rectangle DockPanel.Dock="Bottom"
                           x:Name="B1"
                           Height="1"
                           Fill="Transparent" />
                <Rectangle DockPanel.Dock="Left"
                           x:Name="L1"
                           Width="1"
                           Fill="Transparent" />
                <Rectangle DockPanel.Dock="Top"
                           x:Name="T1"
                           Height="1"
                           Fill="Transparent" />
                <ContentPresenter x:Name="ContentContainer"
                                  Margin="2,2,2,2"
                                  VerticalAlignment="Center"
                                  HorizontalAlignment="Center" />
              </DockPanel>
              <ControlTemplate.Triggers>
                <Trigger Property="IsPressed"
                         Value="true">
                  <Setter TargetName="R1"
                          Property="Fill"
                          Value="{DynamicResource {x:Static SystemColors.ControlLightLightBrushKey}}" />
                  <Setter TargetName="B1"
                          Property="Fill"
                          Value="{DynamicResource {x:Static SystemColors.ControlLightLightBrushKey}}" />
                  <Setter TargetName="L1"
                          Property="Fill"
                          Value="{DynamicResource {x:Static SystemColors.ControlDarkDarkBrushKey}}" />
                  <Setter TargetName="T1"
                          Property="Fill"
                          Value="{DynamicResource {x:Static SystemColors.ControlDarkDarkBrushKey}}" />
                  <Setter TargetName="ContentContainer"
                          Property="Margin"
                          Value="3,3,1,1" />
                </Trigger>
              </ControlTemplate.Triggers>
            </ControlTemplate>
          </Setter.Value>
        </Setter>
      </Style>
    
      <!--ScrollViewer for a MenuItem-->
      <Style x:Key="MenuScrollViewer"
             TargetType="{x:Type ScrollViewer}"
             BasedOn="{x:Null}">
        <Setter Property="HorizontalScrollBarVisibility"
                Value="Hidden" />
        <Setter Property="VerticalScrollBarVisibility"
                Value="Auto" />
        <Setter Property="Template">
          <Setter.Value>
            <!--<SnippetMenuScrollViewer>-->
            <!--ScrollViewer for a MenuItem-->
            <ControlTemplate TargetType="{x:Type ScrollViewer}">
              <Grid SnapsToDevicePixels="True">
                <Grid.ColumnDefinitions>
                  <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                  <RowDefinition Height="Auto" />
                  <RowDefinition Height="*" />
                  <RowDefinition Height="Auto" />
                </Grid.RowDefinitions>
                <Border Grid.Row="1"
                        Grid.Column="0">
                  <ScrollContentPresenter Margin="{TemplateBinding Padding}" />
                </Border>
                <RepeatButton Style="{StaticResource MenuScrollButton}"
                              Grid.Row="0"
                              Grid.Column="0"
                              Command="{x:Static ScrollBar.LineUpCommand}"
                              CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                              Focusable="False">
                  <RepeatButton.Visibility>
                    <MultiBinding FallbackValue="Visibility.Collapsed"
                                  Converter="{StaticResource MenuScrollingVisibilityConverter}"
                                  ConverterParameter="0">
                      <Binding RelativeSource="{RelativeSource TemplatedParent}"
                               Path="ComputedVerticalScrollBarVisibility" />
                      <Binding RelativeSource="{RelativeSource TemplatedParent}"
                               Path="VerticalOffset" />
                      <Binding RelativeSource="{RelativeSource TemplatedParent}"
                               Path="ExtentHeight" />
                      <Binding RelativeSource="{RelativeSource TemplatedParent}"
                               Path="ViewportHeight" />
                    </MultiBinding>
                  </RepeatButton.Visibility>
                  <Path Fill="{DynamicResource {x:Static SystemColors.MenuTextBrushKey}}"
                        Data="{StaticResource UpArrow}" />
                </RepeatButton>
                <RepeatButton Style="{StaticResource MenuScrollButton}"
                              Grid.Row="2"
                              Grid.Column="0"
                              Command="{x:Static ScrollBar.LineDownCommand}"
                              CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                              Focusable="False">
                  <RepeatButton.Visibility>
                    <MultiBinding FallbackValue="Visibility.Collapsed"
                                  Converter="{StaticResource MenuScrollingVisibilityConverter}"
                                  ConverterParameter="100">
                      <Binding RelativeSource="{RelativeSource TemplatedParent}"
                               Path="ComputedVerticalScrollBarVisibility" />
                      <Binding RelativeSource="{RelativeSource TemplatedParent}"
                               Path="VerticalOffset" />
                      <Binding RelativeSource="{RelativeSource TemplatedParent}"
                               Path="ExtentHeight" />
                      <Binding RelativeSource="{RelativeSource TemplatedParent}"
                               Path="ViewportHeight" />
                    </MultiBinding>
                  </RepeatButton.Visibility>
                  <Path Fill="{DynamicResource {x:Static SystemColors.MenuTextBrushKey}}"
                        Data="{StaticResource DownArrow}" />
                </RepeatButton>
              </Grid>
            </ControlTemplate>
            <!--</SnippetMenuScrollViewer>-->
          </Setter.Value>
        </Setter>
      </Style>
    
      <!--<SnippetMenuItem>-->
        <!--<Snippet9>-->
      <Style x:Key="{x:Static MenuItem.SeparatorStyleKey}"
             TargetType="{x:Type Separator}">
        <Setter Property="Height"
                Value="1" />
        <Setter Property="Margin"
                Value="0,4,0,4" />
        <Setter Property="Template">
          <Setter.Value>
            <ControlTemplate TargetType="{x:Type Separator}">
              <Border BorderThickness="1">
                <Border.BorderBrush>
                  <SolidColorBrush Color="{DynamicResource BorderMediumColor}" />
                </Border.BorderBrush>
              </Border>
            </ControlTemplate>
          </Setter.Value>
        </Setter>
      </Style>
        <!--</Snippet9>-->
    
      <!-- TopLevelHeader -->
      <ControlTemplate x:Key="{x:Static MenuItem.TopLevelHeaderTemplateKey}"
                       TargetType="{x:Type MenuItem}">
        <Border x:Name="Border">
          <Grid>
            <ContentPresenter Margin="6,3,6,3"
                              ContentSource="Header"
                              RecognizesAccessKey="True" />
            <Popup x:Name="Popup"
                   Placement="Bottom"
                   IsOpen="{TemplateBinding IsSubmenuOpen}"
                   AllowsTransparency="True"
                   Focusable="False"
                   PopupAnimation="Fade">
              <Border x:Name="SubmenuBorder"
                      SnapsToDevicePixels="True"
                      BorderThickness="1"
                      Background="{DynamicResource MenuPopupBrush}">
                <Border.BorderBrush>
                  <SolidColorBrush Color="{DynamicResource BorderMediumColor}" />
                </Border.BorderBrush>
                <ScrollViewer CanContentScroll="True"
                              Style="{StaticResource MenuScrollViewer}">
                  <StackPanel IsItemsHost="True"
                              KeyboardNavigation.DirectionalNavigation="Cycle" />
                </ScrollViewer>
              </Border>
            </Popup>
          </Grid>
        </Border>
        <ControlTemplate.Triggers>
          <Trigger Property="IsSuspendingPopupAnimation"
                   Value="true">
            <Setter TargetName="Popup"
                    Property="PopupAnimation"
                    Value="None" />
          </Trigger>
          <Trigger Property="IsHighlighted"
                   Value="true">
            <Setter TargetName="Border"
                    Property="BorderBrush"
                    Value="Transparent" />
            <Setter Property="Background"
                    TargetName="Border">
              <Setter.Value>
                <LinearGradientBrush StartPoint="0,0"
                                     EndPoint="0,1">
                  <LinearGradientBrush.GradientStops>
                    <GradientStopCollection>
                      <GradientStop Color="{StaticResource ControlLightColor}" />
                      <GradientStop Color="{StaticResource ControlMouseOverColor}"
                                    Offset="1.0" />
                    </GradientStopCollection>
                  </LinearGradientBrush.GradientStops>
                </LinearGradientBrush>
    
              </Setter.Value>
            </Setter>
          </Trigger>
          <!--<SnippetTriggerSourceName>-->
          <Trigger SourceName="Popup"
                   Property="AllowsTransparency"
                   Value="True">
            <Setter TargetName="SubmenuBorder"
                    Property="CornerRadius"
                    Value="0,0,4,4" />
            <Setter TargetName="SubmenuBorder"
                    Property="Padding"
                    Value="0,0,0,3" />
          </Trigger>
          <!--</SnippetTriggerSourceName>-->
          <Trigger Property="IsEnabled"
                   Value="False">
            <Setter Property="Foreground">
              <Setter.Value>
                <SolidColorBrush Color="{StaticResource DisabledForegroundColor}" />
              </Setter.Value>
            </Setter>
          </Trigger>
        </ControlTemplate.Triggers>
      </ControlTemplate>
    
      <!-- TopLevelItem -->
      <ControlTemplate x:Key="{x:Static MenuItem.TopLevelItemTemplateKey}"
                       TargetType="{x:Type MenuItem}">
        <Border x:Name="Border">
          <Grid>
            <ContentPresenter Margin="6,3,6,3"
                              ContentSource="Header"
                              RecognizesAccessKey="True" />
          </Grid>
        </Border>
        <ControlTemplate.Triggers>
          <Trigger Property="IsHighlighted"
                   Value="true">
            <Setter Property="Background"
                    TargetName="Border">
              <Setter.Value>
                <LinearGradientBrush StartPoint="0,0"
                                     EndPoint="0,1">
                  <LinearGradientBrush.GradientStops>
                    <GradientStopCollection>
                      <GradientStop Color="{StaticResource ControlLightColor}" />
                      <GradientStop Color="{StaticResource ControlMouseOverColor}"
                                    Offset="1.0" />
                    </GradientStopCollection>
                  </LinearGradientBrush.GradientStops>
                </LinearGradientBrush>
    
              </Setter.Value>
            </Setter>
          </Trigger>
          <Trigger Property="IsEnabled"
                   Value="False">
            <Setter Property="Foreground">
              <Setter.Value>
                <SolidColorBrush Color="{StaticResource DisabledForegroundColor}" />
              </Setter.Value>
            </Setter>
          </Trigger>
        </ControlTemplate.Triggers>
      </ControlTemplate>
    
      <!-- SubmenuItem -->
      <ControlTemplate x:Key="{x:Static MenuItem.SubmenuItemTemplateKey}"
                       TargetType="{x:Type MenuItem}">
        <Border x:Name="Border"
                BorderThickness="1">
          <Grid>
            <Grid.ColumnDefinitions>
              <ColumnDefinition Width="Auto"
                                SharedSizeGroup="Icon" />
              <ColumnDefinition Width="*" />
              <ColumnDefinition Width="Auto"
                                SharedSizeGroup="Shortcut" />
              <ColumnDefinition Width="13" />
            </Grid.ColumnDefinitions>
            <ContentPresenter x:Name="Icon"
                              Margin="6,0,6,0"
                              VerticalAlignment="Center"
                              ContentSource="Icon" />
            <Border x:Name="Check"
                    Width="13"
                    Height="13"
                    Visibility="Collapsed"
                    Margin="6,0,6,0"
                    BorderThickness="1">
              <Border.BorderBrush>
                <LinearGradientBrush StartPoint="0,0"
                                     EndPoint="0,1">
                  <LinearGradientBrush.GradientStops>
                    <GradientStopCollection>
                      <GradientStop Color="{DynamicResource BorderLightColor}"
                                    Offset="0.0" />
                      <GradientStop Color="{DynamicResource BorderDarkColor}"
                                    Offset="1.0" />
                    </GradientStopCollection>
                  </LinearGradientBrush.GradientStops>
                </LinearGradientBrush>
    
              </Border.BorderBrush>
              <Border.Background>
                <LinearGradientBrush StartPoint="0,0"
                                     EndPoint="0,1">
                  <LinearGradientBrush.GradientStops>
                    <GradientStopCollection>
                      <GradientStop Color="{DynamicResource ControlLightColor}" />
                      <GradientStop Color="{DynamicResource ControlMediumColor}"
                                    Offset="1.0" />
                    </GradientStopCollection>
                  </LinearGradientBrush.GradientStops>
                </LinearGradientBrush>
              </Border.Background>
              <Path x:Name="CheckMark"
                    Width="7"
                    Height="7"
                    Visibility="Hidden"
                    SnapsToDevicePixels="False"
                    StrokeThickness="2"
                    Data="M 0 0 L 7 7 M 0 7 L 7 0">
                <Path.Stroke>
                  <SolidColorBrush Color="{DynamicResource GlyphColor}" />
                </Path.Stroke>
              </Path>
            </Border>
            <ContentPresenter x:Name="HeaderHost"
                              Grid.Column="1"
                              ContentSource="Header"
                              RecognizesAccessKey="True" />
            <TextBlock x:Name="InputGestureText"
                       Grid.Column="2"
                       Text="{TemplateBinding InputGestureText}"
                       Margin="5,2,0,2"
                       DockPanel.Dock="Right" />
          </Grid>
        </Border>
        <ControlTemplate.Triggers>
          <Trigger Property="ButtonBase.Command"
                   Value="{x:Null}" />
          <Trigger Property="Icon"
                   Value="{x:Null}">
            <Setter TargetName="Icon"
                    Property="Visibility"
                    Value="Hidden" />
          </Trigger>
          <Trigger Property="IsChecked"
                   Value="true">
            <Setter TargetName="CheckMark"
                    Property="Visibility"
                    Value="Visible" />
          </Trigger>
          <Trigger Property="IsCheckable"
                   Value="true">
            <Setter TargetName="Check"
                    Property="Visibility"
                    Value="Visible" />
            <Setter TargetName="Icon"
                    Property="Visibility"
                    Value="Hidden" />
          </Trigger>
          <Trigger Property="IsHighlighted"
                   Value="true">
            <Setter Property="Background"
                    TargetName="Border">
              <Setter.Value>
                <LinearGradientBrush EndPoint="0.5,1"
                                     StartPoint="0.5,0">
                  <GradientStop Color="Transparent"
                                Offset="0" />
                  <GradientStop Color="{DynamicResource ControlMouseOverColor}"
                                Offset="1" />
                </LinearGradientBrush>
              </Setter.Value>
            </Setter>
            <Setter Property="BorderBrush"
                    TargetName="Border">
              <Setter.Value>
                <LinearGradientBrush EndPoint="0.5,1"
                                     StartPoint="0.5,0">
                  <GradientStop Color="{DynamicResource BorderMediumColor}"
                                Offset="0" />
                  <GradientStop Color="Transparent"
                                Offset="1" />
                </LinearGradientBrush>
              </Setter.Value>
            </Setter>
          </Trigger>
          <Trigger Property="IsEnabled"
                   Value="false">
            <Setter Property="Foreground">
              <Setter.Value>
                <SolidColorBrush Color="{StaticResource DisabledForegroundColor}" />
              </Setter.Value>
            </Setter>
          </Trigger>
        </ControlTemplate.Triggers>
      </ControlTemplate>
    
      <ControlTemplate x:Key="{x:Static MenuItem.SubmenuHeaderTemplateKey}"
                       TargetType="{x:Type MenuItem}">
        <Border x:Name="Border"
                BorderThickness="1">
          <Grid>
            <Grid.ColumnDefinitions>
              <ColumnDefinition Width="Auto"
                                SharedSizeGroup="Icon" />
              <ColumnDefinition Width="*" />
              <ColumnDefinition Width="Auto"
                                SharedSizeGroup="Shortcut" />
              <ColumnDefinition Width="13" />
            </Grid.ColumnDefinitions>
            <ContentPresenter x:Name="Icon"
                              Margin="6,0,6,0"
                              VerticalAlignment="Center"
                              ContentSource="Icon" />
            <ContentPresenter x:Name="HeaderHost"
                              Grid.Column="1"
                              ContentSource="Header"
                              RecognizesAccessKey="True" />
            <TextBlock x:Name="InputGestureText"
                       Grid.Column="2"
                       Text="{TemplateBinding InputGestureText}"
                       Margin="5,2,2,2"
                       DockPanel.Dock="Right" />
            <Path Grid.Column="3"
                  HorizontalAlignment="Center"
                  VerticalAlignment="Center"
                  Data="M 0 0 L 0 7 L 4 3.5 Z">
              <Path.Fill>
                <SolidColorBrush Color="{DynamicResource GlyphColor}" />
              </Path.Fill>
            </Path>
            <Popup x:Name="Popup"
                   Placement="Right"
                   HorizontalOffset="-4"
                   IsOpen="{TemplateBinding IsSubmenuOpen}"
                   AllowsTransparency="True"
                   Focusable="False"
                   PopupAnimation="Fade">
              <Border x:Name="SubmenuBorder"
                      SnapsToDevicePixels="True"
                      Background="{DynamicResource MenuPopupBrush}"
                      BorderThickness="1">
                <Border.BorderBrush>
                  <SolidColorBrush Color="{DynamicResource BorderMediumColor}" />
                </Border.BorderBrush>
                <ScrollViewer CanContentScroll="True"
                              Style="{StaticResource MenuScrollViewer}">
                  <StackPanel IsItemsHost="True"
                              KeyboardNavigation.DirectionalNavigation="Cycle" />
                </ScrollViewer>
              </Border>
            </Popup>
          </Grid>
        </Border>
        <ControlTemplate.Triggers>
          <Trigger Property="Icon"
                   Value="{x:Null}">
            <Setter TargetName="Icon"
                    Property="Visibility"
                    Value="Collapsed" />
          </Trigger>
          <Trigger Property="IsHighlighted"
                   Value="true">
            <Setter Property="Background"
                    TargetName="Border">
              <Setter.Value>
                <LinearGradientBrush EndPoint="0.5,1"
                                     StartPoint="0.5,0">
                  <GradientStop Color="Transparent"
                                Offset="0" />
                  <GradientStop Color="{DynamicResource ControlMouseOverColor}"
                                Offset="1" />
                </LinearGradientBrush>
              </Setter.Value>
            </Setter>
            <Setter Property="BorderBrush"
                    TargetName="Border">
              <Setter.Value>
                <LinearGradientBrush EndPoint="0.5,1"
                                     StartPoint="0.5,0">
                  <GradientStop Color="{DynamicResource BorderMediumColor}"
                                Offset="0" />
                  <GradientStop Color="Transparent"
                                Offset="1" />
                </LinearGradientBrush>
              </Setter.Value>
            </Setter>
          </Trigger>
          <Trigger SourceName="Popup"
                   Property="AllowsTransparency"
                   Value="True">
            <Setter TargetName="SubmenuBorder"
                    Property="CornerRadius"
                    Value="4" />
            <Setter TargetName="SubmenuBorder"
                    Property="Padding"
                    Value="0,3,0,3" />
          </Trigger>
          <Trigger Property="IsEnabled"
                   Value="false">
            <Setter Property="Foreground">
              <Setter.Value>
                <SolidColorBrush Color="{StaticResource DisabledForegroundColor}" />
              </Setter.Value>
            </Setter>
          </Trigger>
        </ControlTemplate.Triggers>
      </ControlTemplate>
    
      <!-- MenuItem Style -->
      <Style x:Key="{x:Type MenuItem}"
             TargetType="{x:Type MenuItem}">
        <Setter Property="OverridesDefaultStyle"
                Value="True" />
        <Style.Triggers>
          <Trigger Property="Role"
                   Value="TopLevelHeader">
            <Setter Property="Template"
                    Value="{StaticResource {x:Static MenuItem.TopLevelHeaderTemplateKey}}" />
            <Setter Property="Grid.IsSharedSizeScope"
                    Value="true" />
          </Trigger>
          <Trigger Property="Role"
                   Value="TopLevelItem">
            <Setter Property="Template"
                    Value="{StaticResource {x:Static MenuItem.TopLevelItemTemplateKey}}" />
          </Trigger>
          <Trigger Property="Role"
                   Value="SubmenuHeader">
            <Setter Property="Template"
                    Value="{StaticResource {x:Static MenuItem.SubmenuHeaderTemplateKey}}" />
          </Trigger>
          <Trigger Property="Role"
                   Value="SubmenuItem">
            <Setter Property="Template"
                    Value="{StaticResource {x:Static MenuItem.SubmenuItemTemplateKey}}" />
          </Trigger>
        </Style.Triggers>
      </Style>
      <!--</SnippetMenuItem>-->
    </ResourceDictionary>
  • 相关阅读:
    声明以及字符表述类--字母大小写的敏感性
    条款52:写了placement new 也要写placement delete(write placement delete if you write placement new)
    verdi知识点
    关于$test$plusargs和$value$plusargs的小结
    条款40:明智而审慎地使用多重继承(use multiple inheritance judiciously)
    条款39:明智而审慎地使用private继承(use private inheritance judiciously)
    条款38:通过复合塑模has-a或“根据某物实现出”
    条款37:绝不重新定义继承而来的缺省参数值(Never redefine a function's inherited default parameter value)
    自学nodejs系列
    五个典型的JavaScript面试题
  • 原文地址:https://www.cnblogs.com/tianciliangen/p/7410575.html
Copyright © 2011-2022 走看看