WPF自定义标题栏最大化按钮功能实现(简记)

近期编写了一个标题栏具有自定义功能的WPF软件,就最大化按钮的功能实现写一篇备忘录。

1、首先在前台取消原有的格式设置

Title="MainWindow" 
Width="1366" 
Height="768" 
SizeToContent="WidthAndHeight" 
WindowStartupLocation="CenterScreen" 
ResizeMode="NoResize" 
WindowStyle="None" 
Background="Transparent" 
WindowState="Normal"

2、自定义一个按钮并指定一个标记

Button x:Name="btnMax" 
Style="{StaticResource TitleBarButtonMinandMax}" 
FontFamily="pack://application:,,,/resources/fonts/#XXXXXX" Content="" 
Click="btn_Max"

3、在后台编写响应事件

3.1、功能实现

if(WindowState == WindowState.Maximized)
            {
                WindowState = WindowState.Normal;
            }
            else if(WindowState == WindowState.Normal)
            {
                this.MaxHeight = SystemParameters.WorkArea.Size.Height;
                this.MaxWidth = SystemParameters.WorkArea.Size.Width;
                SystemCommands.MaximizeWindow(this); 
            }
        }

3.2、添加图标切换代码

(此处使用了按钮文字代替图片)

                btnMax.Content = "\xe62b";
                btnMax.Content = "\xe62b";

#完整代码
        private void btn_Max(object sender, RoutedEventArgs e)
        {
            if(WindowState == WindowState.Maximized)
            {
                WindowState = WindowState.Normal;
                btnMax.Content = "\xe62b";
            }
            else if(WindowState == WindowState.Normal)
            {
                this.MaxHeight = SystemParameters.WorkArea.Size.Height;
                this.MaxWidth = SystemParameters.WorkArea.Size.Width;
                SystemCommands.MaximizeWindow(this);
                btnMax.Content = "\xe62b";
            }
        }

联系方式

通过留言或发送邮件至killmiledc@outlook.com。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值