美文网首页
【WPF】自定义标题栏

【WPF】自定义标题栏

作者: UnicornChen | 来源:发表于2019-05-17 11:58 被阅读0次

上一篇我们说了去掉丑陋的标题栏变成无边框,这一篇我们说一下怎么制作自己想要的漂亮标题栏代替系统默认的。

在WPF中自定义窗体标题栏,首先需要将窗体的WindowStyle属性设置为None,隐藏掉WPF窗体的自带标题栏。然后可以在窗体内部自定义一个标题栏。

定义三大金刚键

后台的事件:

后台的事件:

#region 标题栏事件

        /// <summary>        /// 窗口移动事件

        /// </summary>        private void TitleBar_MouseMove(object sender, MouseEventArgs e)

        {

            if (e.LeftButton == MouseButtonState.Pressed)

            {

                this.DragMove();

            }

        }

        int i = 0;

        /// <summary>        /// 标题栏双击事件

        /// </summary>

        private void TitleBar_MouseDown(object sender, MouseButtonEventArgs e)

        {

            i += 1;

            System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer();

            timer.Interval = new TimeSpan(0, 0, 0, 0, 300);

            timer.Tick += (s, e1) => { timer.IsEnabled = false; i = 0; };

            timer.IsEnabled = true;

            if (i % 2 == 0)

            {

                timer.IsEnabled = false;

                i = 0;

                this.WindowState = this.WindowState == WindowState.Maximized ?

                              WindowState.Normal : WindowState.Maximized;

            }

        }

        /// <summary>        /// 窗口最小化

        /// </summary>        private void btn_min_Click(object sender, RoutedEventArgs e)

        {

            this.WindowState = WindowState.Minimized; //设置窗口最小化        }

        /// <summary>        /// 窗口最大化与还原

        /// </summary>        private void btn_max_Click(object sender, RoutedEventArgs e)

        {

            if (this.WindowState == WindowState.Maximized)

            {

                this.WindowState = WindowState.Normal; //设置窗口还原            }

            else            {

                this.WindowState = WindowState.Maximized; //设置窗口最大化            }

        }

        /// <summary>        /// 窗口关闭

        /// </summary>

        private void btn_close_Click(object sender, RoutedEventArgs e)

        {

            this.Close();

        }

        #endregion 标题栏事件

给对应的按钮加上事件就可以了

相关文章

  • 【WPF】自定义标题栏

    上一篇我们说了去掉丑陋的标题栏变成无边框,这一篇我们说一下怎么制作自己想要的漂亮标题栏代替系统默认的。 在WPF中...

  • CefSharp部分效果实现

    CefSharp For WPF隐藏滚动条 CefSharp For WPF自定义右键菜单栏 CefSharp F...

  • Android Dialog自定义去除标题

    style 无标题,有标题栏 无标题,无标题栏 自定义Dialog Activity调用

  • Android自定义标题栏

    Android自定义标题栏思路:1.在layout中添加标题栏的布局文件title(具体布局自己设置)2.自定义控...

  • UI-ToolBar 标题栏

    在开发中经常需要使用到标题栏,很多时候我们会自自定义一个标题栏,因为自定义标题栏基本上就只需要使用个Relativ...

  • android 自定义标题栏 状态栏颜色设置

    隐藏标题栏 自定义的nav标题栏, 可以自己完善 自定义的nav属性 在布局文件中使用 全局设置状态栏颜色 使用提...

  • appcompatactivity 去除标题栏

    appcompat本身就是无标题栏的,因为SupportActionBar本来就是自定义的标题栏。可以在Andro...

  • requestWindowFeature(Window.FEAT

    今天学习Android,需要将系统自带的标题栏隐藏掉,使用自定义的标题栏,结果发现,requestWindowFe...

  • Android自定义标题栏控件(补充)

    在上一篇文章Android 自定义复合控件之通用标题栏中记录了自定义标题栏控件的整个过程,不过如果直接拿来在别的项...

  • 安卓View

    【Android 自定义 View 实战】之自定义项目通用的标题栏 CustomTitleBar 【Android...

网友评论

      本文标题:【WPF】自定义标题栏

      本文链接:https://www.haomeiwen.com/subject/hkvnaqtx.html