基础信息

1、MenuItem 样式

    <Window.Resources><Style TargetType="{x:Type MenuItem}"><!--<Setter Property="Background" Value="#999999" />--><!--<Setter Property="Foreground" Value="#999999" />--><!--MenuItem文字颜色和menu的文字颜色一样--><!--<Setter Property="Foreground" Value="{Binding Path=Foreground, RelativeSource={RelativeSource AncestorType={x:Type Menu}}}"/>--><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type MenuItem}"><Border x:Name="Border"Background="{TemplateBinding Background}"BorderBrush="{TemplateBinding BorderBrush}"BorderThickness="{TemplateBinding BorderThickness}"><Grid><Grid.ColumnDefinitions><!--<ColumnDefinition x:Name="Col0" SharedSizeGroup="MenuItemIconColumnGroup" MinWidth="17" Width="Auto"/>--><ColumnDefinition Width="Auto"  SharedSizeGroup="MenuTextColumnGroup"/><!--<ColumnDefinition Width="Auto"  SharedSizeGroup="MenuItemIGTColumnGroup"/>--><!--<ColumnDefinition x:Name="Col3" Width="14"/>--></Grid.ColumnDefinitions><!-- ContentPresenter to show an Icon if needed --><ContentPresenter Grid.Column="0" Margin="4,0,6,0" x:Name="Icon" VerticalAlignment="Center" ContentSource="Icon"/><!-- Glyph is a checkmark if needed for a checkable menu --><Grid Grid.Column="0" Visibility="Hidden" Margin="4,0,6,0" x:Name="GlyphPanel" VerticalAlignment="Center"><Path x:Name="GlyphPanelpath" VerticalAlignment="Center" Fill="{TemplateBinding Foreground}" Data="M0,2 L0,4.8 L2.5,7.4 L7.1,2.8 L7.1,0 L2.5,4.6 z" FlowDirection="LeftToRight"/></Grid><!-- Content for the menu text etc --><ContentPresenter Grid.Column="1"Margin="{TemplateBinding Padding}"x:Name="HeaderHost"RecognizesAccessKey="True"VerticalAlignment="Center"ContentSource="Header"/><!-- Content for the menu IGT --><ContentPresenter Grid.Column="2"Margin="8,1,8,1"x:Name="IGTHost"ContentSource="InputGestureText"VerticalAlignment="Center"/><!-- Arrow drawn path which points to the next level of the menu --><Grid Grid.Column="3" Margin="4,0,6,0" x:Name="ArrowPanel" VerticalAlignment="Center"><Path x:Name="ArrowPanelPath" HorizontalAlignment="Right" VerticalAlignment="Center" Fill="{TemplateBinding Foreground}" Data="M0,0 L0,8 L4,4 z"/></Grid><!-- The Popup is the body of the menu which expands down or across depending on the level of the item --><Popup IsOpen="{Binding Path=IsSubmenuOpen, RelativeSource ={RelativeSource TemplatedParent}}" Placement="Right" x:Name="SubMenuPopup" Focusable="false" PopupAnimation="{DynamicResource {x:Static SystemParameters.MenuPopupAnimationKey}}"><Border x:Name="SubMenuBorder" BorderBrush="{Binding Path=Foreground, RelativeSource={RelativeSource AncestorType={x:Type Menu}}}" BorderThickness="1" Padding="2,2,2,2"><Grid x:Name="SubMenu" Grid.IsSharedSizeScope="True"><!-- StackPanel holds children of the menu. This is set by IsItemsHost=True  KeyboardNavigationMode = "Cycle" --><StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle"/>   </Grid></Border></Popup></Grid></Border><!-- These triggers re-configure the four arrangements of MenuItem to show different levels of menu via Role --><ControlTemplate.Triggers><!-- Role = TopLevelHeader : this is the root menu item in a menu; the Popup expands down --><Trigger Property="Role" Value="TopLevelHeader"><Setter Property="Padding" Value="6,1,6,1"/><Setter Property="Placement" Value="Left" TargetName="SubMenuPopup"/><!--<Setter Property="MinWidth" Value="0" TargetName="Col0"/>--><!--<Setter Property="Width" Value="Auto" TargetName="Col3"/>--><Setter Property="CornerRadius" Value="5,5,0,0" TargetName="Border"/><Setter Property="Visibility" Value="Collapsed" TargetName="Icon"/><Setter Property="Visibility" Value="Collapsed" TargetName="GlyphPanel"/><Setter Property="Visibility" Value="Collapsed" TargetName="IGTHost"/><Setter Property="Visibility" Value="Collapsed" TargetName="ArrowPanel"/></Trigger><!-- Role = TopLevelItem :  this is a child menu item from the top level without any child items--><Trigger Property="Role" Value="TopLevelItem"><Setter Property="Padding" Value="6,1,6,1"/><Setter Property="Visibility" Value="Collapsed" TargetName="ArrowPanel"/></Trigger><!-- Role = SubMenuHeader : this is a child menu item which does not have children --><Trigger Property="Role" Value="SubmenuHeader"><Setter Property="DockPanel.Dock" Value="Top"/><Setter Property="Padding" Value="0,2,0,2"/></Trigger><!-- Role = SubMenuItem : this is a child menu item which has children--><Trigger Property="Role" Value="SubmenuItem"><Setter Property="DockPanel.Dock" Value="Top"/><Setter Property="Padding" Value="0,2,0,2"/><Setter Property="Visibility" Value="Collapsed" TargetName="ArrowPanel"/></Trigger><Trigger Property="IsSuspendingPopupAnimation" Value="true"><Setter Property="PopupAnimation" Value="None" TargetName="SubMenuPopup"/></Trigger><!-- If no Icon is present the we collapse the Icon Content --><Trigger Property="Icon" Value="{x:Null}"><Setter Property="Visibility" Value="Collapsed" TargetName="Icon"/></Trigger><!-- The GlyphPanel contains the CheckMark --><Trigger Property="IsChecked" Value="true"><Setter Property="Visibility" Value="Visible" TargetName="GlyphPanel"/><Setter Property="Visibility" Value="Collapsed" TargetName="Icon"/></Trigger><!-- Using the system colors for the Menu Highlight and IsEnabled--><Trigger Property="IsHighlighted" Value="true"><Setter Property="Background" Value="#ff0000" TargetName="Border"/><Setter Property="Foreground" Value="#0036ff"/></Trigger><Trigger Property="IsEnabled" Value="false"><Setter Property="Foreground" Value="#ff0000"/></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter></Style><!--工具数据源--><XmlDataProvider x:Key="toolsDS" Source="Config\Tools\Tools.xml" XPath="Tools/Tool"></XmlDataProvider><!--Tool模板--><HierarchicalDataTemplate DataType="Tool" ItemsSource="{Binding XPath=Tool}" ><StackPanel Orientation="Horizontal"><TextBlock Tag ="{Binding XPath=@Name}" Width="38"><Image Source="{Binding XPath=@ImagePath}" Width="38" Height="38"></Image></TextBlock></StackPanel></HierarchicalDataTemplate></Window.Resources>

View Code

2、Menu、MenuItem、 直接拷贝就可查看示例

    <Window.Resources><!--Control colors.--><Color x:Key="WindowColor">#FFE8EDF9</Color><Color x:Key="ContentAreaColorLight">#FFC5CBF9</Color><Color x:Key="ContentAreaColorDark">#FF7381F9</Color><Color x:Key="DisabledControlLightColor">#FFE8EDF9</Color><Color x:Key="DisabledControlDarkColor">#FFC5CBF9</Color><Color x:Key="DisabledForegroundColor">#FF888888</Color><Color x:Key="SelectedBackgroundColor">#FFC5CBF9</Color><Color x:Key="SelectedUnfocusedColor">#FFDDDDDD</Color><Color x:Key="ControlLightColor">White</Color><Color x:Key="ControlMediumColor">#FF7381F9</Color><Color x:Key="ControlDarkColor">#FF211AA9</Color><Color x:Key="ControlMouseOverColor">#FF3843C4</Color><Color x:Key="ControlPressedColor">#FF211AA9</Color><Color x:Key="GlyphColor">#FF444444</Color><Color x:Key="GlyphMouseOver">sc#1, 0.004391443, 0.002428215, 0.242281124</Color><!--Border colors--><Color x:Key="BorderLightColor">#FFCCCCCC</Color><Color x:Key="BorderMediumColor">#FF888888</Color><Color x:Key="BorderDarkColor">#FF444444</Color><Color x:Key="PressedBorderLightColor">#FF888888</Color><Color x:Key="PressedBorderDarkColor">#FF444444</Color><Color x:Key="DisabledBorderLightColor">#FFAAAAAA</Color><Color x:Key="DisabledBorderDarkColor">#FF888888</Color><Color x:Key="DefaultBorderBrushDarkColor">Black</Color><!--Control-specific resources.--><Color x:Key="HeaderTopColor">#FFC5CBF9</Color><Color x:Key="DatagridCurrentCellBorderColor">Black</Color><Color x:Key="SliderTrackDarkColor">#FFC5CBF9</Color><Color x:Key="NavButtonFrameColor">#FF3843C4</Color><LinearGradientBrush x:Key="MenuPopupBrush"EndPoint="0.5,1"StartPoint="0.5,0"><GradientStop Color="{DynamicResource ControlLightColor}"Offset="0" /><GradientStop Color="{DynamicResource ControlMediumColor}"Offset="0.5" /><GradientStop Color="{DynamicResource ControlLightColor}"Offset="1" /></LinearGradientBrush><LinearGradientBrush x:Key="ProgressBarIndicatorAnimatedFill"StartPoint="0,0"EndPoint="1,0"><LinearGradientBrush.GradientStops><GradientStopCollection><GradientStop Color="#000000FF"Offset="0" /><GradientStop Color="#600000FF"Offset="0.4" /><GradientStop Color="#600000FF"Offset="0.6" /><GradientStop Color="#000000FF"Offset="1" /></GradientStopCollection></LinearGradientBrush.GradientStops></LinearGradientBrush><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><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><!--ScrollViewer for a MenuItem--><MenuScrollingVisibilityConverter x:Key="MenuScrollingVisibilityConverter" /><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><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><!--Style="{StaticResource MenuScrollButton}"--><RepeatButton 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><!--Style="{StaticResource MenuScrollButton}"--><RepeatButton 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></Setter.Value></Setter></Style><!-- 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><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><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><XmlDataProvider x:Key="menudata" Source="Config\Tools\MenuData.xml" XPath="MenuData/Operation"></XmlDataProvider><HierarchicalDataTemplate DataType="Operation"ItemsSource="{Binding XPath=Operation}"><StackPanel Orientation="Horizontal" ><TextBlock Text="{Binding XPath=@Name}" HorizontalAlignment="Left"></TextBlock><TextBlock Text="{Binding XPath=@Gesture}" HorizontalAlignment="Left"></TextBlock></StackPanel></HierarchicalDataTemplate></Window.Resources>

View Code

转载于:https://www.cnblogs.com/shenchao/p/5411742.html

WPF:MenuItem样式相关推荐

  1. wpf Combobox 样式的问题

    wpf Combobox 样式的问题 <!-- Combobox--><Style x:Key="ComboBoxReadonlyToggleButton" Ta ...

  2. WPF的样式(Style)继承

    WPF的样式(Style)继承 参考自http://www.cnblogs.com/SkyD/archive/2008/08/09/1264294.html,非常感谢. 用Style的BaseOn属性 ...

  3. wpf之样式属性、事件、触发器

    wpf的样式可以把属性一样的设置写在样式里面,这样可以减少代码量. 举个简单的例子: <Window x:Class="WpfPictureClick.MainWindow" ...

  4. 愤怒者系列(一) WPF引用样式文件

    今天我们说一下wpf引用样式资源文件. wpf的样式控制分为行内,页内,和样式文件.而样式资源文件又分为程序内的样式文件和页内的样式文件. 我们今天讲的是引用的样式文件,因为可以切换样式文件来改变主题 ...

  5. contextmenu样式 wpf_WPF ContextMenu设计。如何在WPF MenuItem中设置背景?

    我这样创建弹出菜单. < DockPanel.ContextMenu> < ContextMenu Background ="#CD252220" Opacity ...

  6. WPF ListBox样式去掉默认选中效果

    次用到ListBox的时候,鼠标悬浮时,ListBoxItem的默认样式太丑了,设置了ItemTemplate也不管用,像这样的: 经过几次尝试后,终于解决了这个问题,记录一下,以后就不用到处百度找了 ...

  7. wpf 按钮样式_键盘 | 01.在程序集间引用样式

    设置Button和TextBox的特定颜色和字体的样式和默认样式,并在程序集间引用. 从零开始用WPF/C#开发一个键盘指示器 项目完整开源.免费,不依赖第三方库 编译好的先行版程序在微信公众号(香辣 ...

  8. WPF自定义样式与模板

    开发过程中,我们有时候用WPF原生的控件就能实现自己的需求,但是样式.风格并不 能满足我们的需求,那么我们该怎么办呢?----自定义样式与模板. 一.样式 在WPF中我们可以使用Style来设置控件的 ...

  9. WPF ComboBox样式

    一.样式的样子就是这样的 二.样式Style - 不可编辑请设置 属性为ReadOnly=true属性 1 <ResourceDictionary xmlns="http://sche ...

最新文章

  1. HTTP POST慢速DOS攻击初探
  2. Clean-Code: 注释
  3. R语言使用aov函数进行单因素协方差分析(One-way ANCOVA)、单因素协方差分析(ANCOVA)扩展了单因素方差分析,包括一个或多个协变量(covariates)
  4. python手动绘图_建筑师为什么要会python编程?
  5. golang经典书籍--go并发编程
  6. LeetCode:1. Two Sum
  7. Several ports (8005, 80, 8009) required by Tomcat v6.0 Server at localhost are already in use
  8. java改写weka中的算法_用Eclipse在Weka中嵌入新算法
  9. P5221 Product(反演)
  10. 怎么把php查询到的值显示到下拉框中_RazorSQL for Mac(数据库工具查询) v8.5.0
  11. c语言检查字符数组不为空,【C语言】检查输入是否为空,如为空,程序退出
  12. 衡量模块独立性的两个定性标准
  13. python工资一般多少西安-Python让我在西安成为高薪quot;贵族”
  14. 【CCCC】PAT : 团体程序设计天梯赛-练习集 L2 答案,题解,附代码
  15. PHP Ctype函数
  16. oracle-12514,ORA-12514的解决方法(多图)
  17. 第二章 SQL命令 ALTER TABLE(二)
  18. B. Ternary String
  19. 趣头条递交招股书 将冲刺移动内容聚合第一股
  20. 开发微信小程序都需要哪些资质?

热门文章

  1. css特效——纯css绘制图标:带框的加号(添加按钮)、三横(三道杠)、带圈点(双层圆点)
  2. uibot在子程序执行js失败_使用BotUI搭建js机器人
  3. linux文件缓冲大小,确定在Linux中读取文件的最佳缓冲区大小
  4. 禾赛科技上市首份财报:出货量激增467.5% 亏损率降至25%
  5. java高级编程与普通_Java高级编程
  6. BERT入门教程学习心得 word embedding
  7. 应用之星网站改版,参与问卷赢手机
  8. 网络调试助手(pc端)+ESP8266指令
  9. PC机使用网络调试助手获取onenet的数据
  10. 【数据结构】队列的介绍