WPF 非常漂亮 MenuItem模板 WPF漂亮导航栏 WPF MenuItem 漂亮界面源代码 可以直接使用的WPF漂亮界面

      WPF中的MenuItem控件是导航菜单的重要组成部分,它提供了丰富的定制选项以创建出吸引人的导航界面。通过自定义模板和样式,MenuItem可以展现出各种视觉效果,如渐变色、图标、鼠标悬停效果等。此外,MenuItem还支持子菜单和命令绑定,使得用户界面既美观又功能强大。

以下是一个实例,展示了如何创建一个具有自定义样式的漂亮MenuItem:

 

 

<ControlTemplate x:Key="SubmenuHeaderTemplateKey" TargetType="{x:Type MenuItem}">
            <Border CornerRadius="13" Background="{TemplateBinding Background}" BorderThickness="0" Margin="0 0 0 0" Padding="0">
                <Grid SnapsToDevicePixels="true" Margin="0 0 0 0">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition MinWidth="24" SharedSizeGroup="MenuItemIconColumnGroup" Width="Auto"/>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="30"/>
                        </Grid.ColumnDefinitions>
                        <ContentPresenter Grid.Column="1" ContentSource="Header" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True"
                                      SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="Center"/>
                        <Path Grid.Column="2" Width="16" Height="16" Stretch="Uniform"  Fill="#FFFFFF"
                          HorizontalAlignment="Left" Margin="0,0,20,0"/>
                    </Grid>
                    <Popup x:Name="PART_Popup" AllowsTransparency="true" HorizontalOffset="-1"
                       IsOpen="{Binding IsSubmenuOpen, RelativeSource={RelativeSource TemplatedParent}}"
                       PopupAnimation="Scroll" Placement="Right" VerticalOffset="0">
                        <Border Margin="0,0" CornerRadius="13" Background="#FFFFFF" BorderBrush="#5a5e66" BorderThickness="1" Width="auto">
                            <ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Cycle"
                                        Grid.IsSharedSizeScope="true" Margin="0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
                                        KeyboardNavigation.TabNavigation="Cycle"/>
                        </Border>
                    </Popup>
                </Grid>
            </Border>
            <ControlTemplate.Triggers>
                <MultiTrigger>
                    <MultiTrigger.Conditions>
                        <!--<Condition Property="HasItems" Value="true"/>-->
                        <Condition Property="IsMouseOver" Value="true"/>
                    </MultiTrigger.Conditions>
                    <Setter Property="IsSubmenuOpen" Value="true"/>
                    <Setter Property="Background" Value="#3D5CE3"/>
                    <Setter TargetName="PART_Popup" Property="IsOpen" Value="true"/>
                    <Setter Property="Foreground" Value="#FFFFFF"/>
                </MultiTrigger>
                <MultiTrigger>
                    <MultiTrigger.Conditions>
                        <Condition Property="HasItems" Value="true"/>
                        <Condition Property="IsChecked" Value="true"/>
                        <Condition Property="IsMouseOver" Value="true"/>
                    </MultiTrigger.Conditions>
                    <Setter Property="IsSubmenuOpen" Value="true"/>
                    <Setter Property="Background" Value="#3D5CE3"/>
                    <Setter TargetName="PART_Popup" Property="IsOpen" Value="true"/>
                </MultiTrigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>
        <Style TargetType="{x:Type MenuItem}">
            <Setter Property="Background" Value="Transparent"/>
            <Setter Property="Foreground" Value="#5a5e66"/>
            <Setter Property="ScrollViewer.PanningMode" Value="Both"/>
            <Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
            <Setter Property="FontSize" Value="14"/>
            <Setter Property="Height" Value="30"/>
            <Setter Property="Margin" Value="0,0,0,0"/>
            <Setter Property="Template" Value="{StaticResource SubmenuHeaderTemplateKey}"/>
            <!--<Style.Triggers>
                <Trigger Property="Role" Value="SubmenuHeader">
                    <Setter Property="Template" Value="{StaticResource SubmenuHeaderTemplateKey}"/>
                </Trigger>
            </Style.Triggers>-->
        </Style>
 <Border BorderBrush="#5a5e66" BorderThickness="1" CornerRadius="13" Margin="20 0 0 0">
                        <Menu BorderThickness="0" BorderBrush="Transparent" Background="Transparent" VerticalAlignment="Center" FontSize="14">
                            <MenuItem Header="GOOGLE">
                                <MenuItem Header="Android移动平台">
                                    <MenuItem Header="手机" />
                                <MenuItem Header="电视" />
                                <MenuItem Header="汽车" />
                            </MenuItem>
                               <MenuItem Header="Flutter前端开发" />
                                <MenuItem Header="GO后端开发" />
                                <MenuItem Header="Chrome浏览器"/>
                            </MenuItem>
                            <MenuItem Header="微软">
                                <MenuItem Header="Windows系统"/>
                                <MenuItem Header="Office办公系统"/>
                                <MenuItem Header="C#流行语言" />
                                <MenuItem Header="VSCode全功能IDE" />
                                <MenuItem Header="Sqlserver数据库" />
                            </MenuItem>
                            <MenuItem Header="小米" >
                                <MenuItem Header="汽车"  />
                                <MenuItem Header="手机" />
                                <MenuItem Header="电视"/>
                                <MenuItem Header="平板电脑"/>
                            </MenuItem>
                            <MenuItem Header="退出"  />
                        </Menu>
                    </Border>

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
WPF (Windows Presentation Foundation) 是一个用于创建富客户端应用程序的框架,可以实现漂亮界面配色。在WPF中,界面配色是通过使用 XAML (eXtensible Application Markup Language) 标记语言来定义的。 在设计漂亮界面配色时,需要考虑以下几点: 1. 色彩搭配:选择合适的颜色组合是创建漂亮界面的关键。通过使用互补色、类似色或者相邻色来创建配色方案,可以提供视觉上的和谐感。同时,使用不同的颜色来突出重点内容或者功能也是一种常见的设计技巧。 2. 色彩对比度:确保文本和背景之间具有足够的对比度,以保证内容的可读性。对比度可以通过调整背景色和文本色、使用阴影效果或者添加边框来实现。 3. 字体选择:选择适合的字体有助于提升界面的美观度。常用的字体包括 Arial、Helvetica、Verdana、Tahoma等。可以根据不同的场景和需求选择合适的字体,并注意字体的大小和粗细的搭配。 4. 图标和图像的运用:使用合适的图标和图像可以丰富界面的视觉效果,提升用户体验。通过使用直观的图标和有吸引力的图像,可以更好地传达信息和功能。 5. 界面布局:合理的界面布局也是创建漂亮界面的重要因素之一。通过使用容器控件和布局控件,可以将界面元素组织得井井有条,不显得杂乱无序。 综上所述,WPF提供了丰富的界面设计功能,可以通过合适的色彩搭配、对比度、字体选择、图标和图像的运用以及界面布局来创建漂亮界面配色。在设计过程中,需要综合考虑用户的需求和品牌形象,以确保界面符合用户的审美需求,并且能够提供良好的用户体验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weijia3624

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值