【WPF】WindowChrome 自定义窗口完美实现

您所在的位置:网站首页 在windows7中窗口最大化的方法是什么 【WPF】WindowChrome 自定义窗口完美实现

【WPF】WindowChrome 自定义窗口完美实现

2024-01-13 03:44| 来源: 网络整理| 查看: 265

WindowChrome 自定义窗口完美实现 简介效果图自定义最小化、最大化、关闭按钮布局实现结语

简介

Microsoft官网关于 WindowChome 的介绍

截取Microsoft文章的一段话:   若要在保留其标准功能时自定义窗口,可以使用该 WindowChrome 类。 该 WindowChrome 类将窗口框架的功能与视觉对象分开,并允许你控制应用程序窗口的客户端和非客户端区域之间的边界。 通过 WindowChrome 该类,可以通过扩展工作区来覆盖非工作区,将 WPF 内容置于窗口框架中。 同时,它通过两个不可见区域保留系统行为: 调整边框 和 标题 区域的大小。

效果图

标准窗口 最大化窗口

自定义最小化、最大化、关闭按钮 最小化按钮 最大化按钮 关闭按钮 /// /// 窗口移动 /// /// /// private void Move_Click(object sender, System.Windows.Input.MouseButtonEventArgs e) => this.DragMove(); /// /// 最小化 /// /// /// private void BtnMin_Click(object sender, RoutedEventArgs e) => WindowState = WindowState.Minimized; /// /// 最大化/还原 /// /// /// private void BtnMax_Click(object sender, RoutedEventArgs e) => WindowState = WindowState is WindowState.Normal ? WindowState.Maximized : WindowState.Normal; /// /// 关闭 /// /// /// private void BtnClose_Click(object sender, RoutedEventArgs e) => Application.Current.Shutdown(); 布局实现

首先我们需要在 MainWindow 也就是我们的主窗口中的 Window.Resources 中实现 WindowChrome 的基本样式: WindowChrome.ResizeBorderThickness 设置不可见边框宽度 WindowChrome.CaptionHeight> 设置属于标题栏的范围——高度 WindowChrome.UseAeroCaptionButtons 是否启用默认系统按钮功能——三大金刚键 WindowChrome.NonClientFrameEdges 设置客户区域,使用 bottom 可以实现加载时空白窗口而不显示默认窗口,提升用户体验



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3