WPF中Menu的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>

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值