当前位置:   article > 正文

WPF中Menu的menuItem使用style样式出现黑边_menuitem style

menuitem style

   图品

 

 

 

 

 

 

 

 

 

代码如下,请高人指点

<Style x:Key="MLB_MenuItem" TargetType="{x:Type MenuItem}">
            <Setter Property="Foreground" Value="White" />
            <Setter Property="FontWeight" Value="Bold"/>
            <Setter Property="Background" Value="#235A99"/>
             <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type MenuItem}">
                        <Border x:Name="Border"                               
                                Background="{TemplateBinding Background}"
                                Height="{TemplateBinding Height}"
                            VerticalAlignment="Center">
                            <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 Grid.Column="0"
                                                   Margin="4,0,6,0" x:Name="Icon"
                                                   VerticalAlignment="Center" ContentSource="Icon"/>
                                <Grid Grid.Column="0" Visibility="Visible" 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>
                                <ContentPresenter Grid.Column="1"
                                           Margin="{TemplateBinding Padding}"
                                           x:Name="HeaderHost"
                                           RecognizesAccessKey="True"
                                           VerticalAlignment="Center"
                                           ContentSource="Header"/>
                                <ContentPresenter Grid.Column="2"
                                           Margin="8,1,8,1"
                                           x:Name="IGTHost"
                                           ContentSource="InputGestureText"
                                           VerticalAlignment="Center" Visibility="Collapsed"/>
                                <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>
                                <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 IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle"/>
                                        </Grid>
                                    </Border>
                                </Popup>
                            </Grid>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="Role" Value="TopLevelHeader">
                                <Setter Property="Padding" Value="6,1,10,1"/>
                                <Setter Property="Placement" Value="Top" TargetName="SubMenuPopup"/>                         
                                <Setter Property="MinWidth" Value="0" TargetName="Col0"/>
                                <Setter Property="Width" Value="Auto" TargetName="Col3"/>                            
                                <Setter Property="Visibility" Value="Collapsed" TargetName="GlyphPanel"/>
                                <Setter Property="Visibility" Value="Collapsed" TargetName="IGTHost"/>
                                <Setter Property="Visibility" Value="Collapsed" TargetName="ArrowPanel"/>
                            </Trigger>
                            <Trigger Property="Role" Value="TopLevelItem">
                                <Setter Property="Padding" Value="6,1,6,1"/>                            
                                <Setter Property="Placement" Value="Top" TargetName="SubMenuPopup"/>
                                <Setter Property="MinWidth" Value="0" TargetName="Col0"/>
                                <Setter Property="Width" Value="Auto" TargetName="Col3"/>
                                <Setter Property="Visibility" Value="Collapsed" TargetName="GlyphPanel"/>
                                <Setter Property="Visibility" Value="Collapsed" TargetName="IGTHost"/>
                                <Setter Property="Visibility" Value="Collapsed" TargetName="ArrowPanel"/>
                            </Trigger>
                            <Trigger Property="Role" Value="SubmenuHeader">
                                <Setter Property="MinWidth" Value="0" TargetName="Col0"/>
                                <Setter Property="Visibility" Value="Collapsed" TargetName="GlyphPanel"/>
                                <Setter Property="Visibility" Value="Collapsed" TargetName="IGTHost"/>
                                <Setter Property="DockPanel.Dock" Value="Top"/>
                                <Setter Property="Padding" Value="0,2,0,2"/>
                            </Trigger>
                            <Trigger Property="Role" Value="SubmenuItem">
                                <Setter Property="MinWidth" Value="0" TargetName="Col0"/>
                                <Setter Property="Visibility" Value="Collapsed" TargetName="GlyphPanel"/>
                                <Setter Property="Visibility" Value="Collapsed" TargetName="IGTHost"/>
                                <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"/>
                                <Setter Property="Visibility" Value="Collapsed" TargetName="GlyphPanel"/>
                            </Trigger>
                            <Trigger Property="Icon" Value="{x:Null}">
                                <Setter Property="Visibility" Value="Collapsed" TargetName="Icon"/>
                            </Trigger>
                            <Trigger Property="IsHighlighted" Value="true">
                                <Setter Property="Background" Value="Red" TargetName="Border"/>
                                <Setter Property="Foreground" Value="Black"/>
                            </Trigger>
                            <Trigger Property="IsEnabled" Value="false">
                                <Setter Property="Foreground" Value="Gray"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

      <Menu  Style="{StaticResource tes }">
                <MenuItem Header="test"  ></MenuItem>
                <MenuItem Header="test"  >
                    <MenuItem Header="test"  >
                        <MenuItem Header="test"  ></MenuItem>
                        <MenuItem Header="test"  ></MenuItem>
                    </MenuItem>
                    <MenuItem Header="test"  ></MenuItem>
                    <MenuItem Header="test"  ></MenuItem>
                    <MenuItem Header="test"  ></MenuItem>
                </MenuItem>
                <MenuItem Header="test"></MenuItem>
                <MenuItem Header="test"></MenuItem>
            </Menu>

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号