wpf 自定义ContextMenu样式,可以调节ContextMenu的宽度

 之前在网上找的ContextMenu的样式,都不可以把宽度设置到142以下,否则文字就被隐藏了一部分,所以重新改了下样式,下面是xaml代码,注意动画的最终的高宽和MenuItem的高宽,改下看效果就知道实现自己的效果要改那些东西了.


 

<Style TargetType="{x:Type ContextMenu}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type ContextMenu}">
                        <Border x:Name="Border" CornerRadius="4" Background="#A5181818"  BorderThickness="2">
                            <Border.BorderBrush>
                                <SolidColorBrush Color="#BABABA" />
                            </Border.BorderBrush>
                            <ItemsPresenter/>
                        </Border>
                        <ControlTemplate.Triggers>
                            <MultiTrigger>
                                <MultiTrigger.Conditions>
                                    <Condition Property="IsMouseOver" Value="True"/>
                                </MultiTrigger.Conditions>
                                <MultiTrigger.EnterActions>
                                    <BeginStoryboard>
                                        <Storyboard>
                                            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00"  Storyboard.TargetProperty="(FrameworkElement.Width)">
                                                <SplineDoubleKeyFrame KeyTime="00:00:00.0020000" Value

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用WPF中的Menu控件来创建自定义菜单栏。以下是创建自定义菜单栏的一些步骤: 1.创建一个Menu控件,并设置它的样式和模板。 2.使用MenuItem控件来添加菜单项,并设置它们的命令或事件处理程序。 3.为菜单项添加子菜单,可以使用MenuItem的Items属性。 4.使用Separator控件来添加分隔符。 5.可以使用ContextMenu控件来创建弹出式菜单。 6.使用命令绑定来处理菜单项的操作。 以下是一个简单的示例,演示如何创建自定义菜单栏: ```xml <Menu Grid.Row="0" Background="{StaticResource MenuBackground}"> <MenuItem Header="_File"> <MenuItem Header="_New" Command="{Binding NewCommand}" /> <MenuItem Header="_Open" Command="{Binding OpenCommand}" /> <Separator /> <MenuItem Header="_Save" Command="{Binding SaveCommand}" /> <MenuItem Header="Save _As" Command="{Binding SaveAsCommand}" /> <Separator /> <MenuItem Header="_Exit" Command="{Binding ExitCommand}" /> </MenuItem> <MenuItem Header="_Edit"> <MenuItem Header="_Cut" Command="{Binding CutCommand}" /> <MenuItem Header="_Copy" Command="{Binding CopyCommand}" /> <MenuItem Header="_Paste" Command="{Binding PasteCommand}" /> </MenuItem> <MenuItem Header="_Help"> <MenuItem Header="_About" Command="{Binding AboutCommand}" /> </MenuItem> </Menu> ``` 在这个示例中,我们创建了一个菜单栏,其中包含三个菜单项:文件、编辑和帮助。每个菜单项都有一个或多个子菜单项,并且与命令绑定。这是一个简单的例子,你可以根据自己的需求和设计来创建自定义菜单栏。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值