WPF Windows 设置无边框还能拖动,缩放

1、窗体的介绍

标准窗口由两个重叠矩形组成。

外部矩形是非工作区, 通常称为chrome。 它由操作系统的窗口管理器进行绘制和管理。

窗口的非工作区是通过 WPF 实现的,其中包括大多数窗口所共有的窗口部分,包括以下各项:

  • 边框。

  • 标题栏。

  • 图标。

  • “最小化”、“最大化”和“还原”按钮。

  • “关闭”按钮。

  • “系统”菜单,其中包含允许用户最小化、最大化、还原、移动和关闭窗口以及重设窗口大小的菜单项。

内部矩形是工作区。 它包含应用程序的内容,例如菜单栏、工具栏和控件, 由应用程序进行绘制和管理。

WPF Windows 设置无边框还能拖动,缩放_第1张图片

 

 

 

2、自定义窗口

可以通过将Window.WindowStyle属性设置为None或, 使用WindowChrome类自定义窗口边框。

WindowStyle.None

自定义 WPF 应用程序窗口外观的一种方法是将Window.WindowStyle属性设置为。 None 这将从窗口中删除非客户端框架并仅离开工作区, 您可以将自定义样式应用到该区域。 但是, 在删除非客户端框架时, 还会丢失系统功能和所提供的行为, 例如标题按钮和窗口大小调整。 另一个副作用是窗口在最大化时将覆盖 Windows 任务栏。 通过WindowStyle.None设置, 你可以创建完全自定义的应用程序, 但也需要在应用程序中实现自定义逻辑来模拟标准窗口行为。

WindowChrome

若要在保留其标准功能的同时自定义窗口, 可以WindowChrome使用类。 WindowChrome类将窗口框架的功能与视觉对象隔开, 并使你能够控制应用程序窗口的工作区和非工作区之间的边界。 通过WindowChrome使用类, 您可以通过扩展工作区以覆盖非工作区来将 WPF 内容置于窗口框架中。 同时, 它将保留系统行为:比如调整边框标题区的大小。

参考:

https://blog.csdn.net/qq_19764639/article/details/96125324

https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.shell.windowchrome?redirectedfrom=MSDN&view=netframework-4.5#%E5%AE%9A%E4%B9%89

你可能感兴趣的:(WPF)