Avalonia : 在 Linux 上隐藏标题栏窗口不起作用

问题描述

我使用 avalonia(版本 0.10.3 - 但同样发生在 0.10.0 - 在 Net5.0 项目上)作为项目的 UI,当我创建例如启动画面或关于屏幕时,标题bar 必须是不可见的。

在 windows 上,使用窗口部分中的这些参数可以正常工作:

CanResize="False"
ExtendClientAreaTodecorationsHint="True"
ExtendClientAreaChromeHints="NoChrome"
ExtendClientAreaTitleBarHeightHint="0"

不幸的是,在 Linux(薄荷 - 带有最新更新的最新版本)上,标题栏仍然可见(如果我设置了 ExtendClientAreaTitleBarHeightHint="-1")。

这是一个已知问题还是我做错了什么?

我没有 mac,但 mac 也是这样吗?

解决方法

X11 使用所谓的“服务器装饰”。窗口框架是由窗口管理器在单独的进程中绘制的,因此实际上不可能扩展到该区域。

您仍然可以完全禁用框架并绘制自己的框架,但通常不推荐这样做,因为基本上每个非基于 GNOME 的 Linux 发行版都会破坏高级窗口交互(GNOME 不在乎,因为它没有任何高级窗口交互)。

在未来的某个版本中,Avalonia 将为 GNOME 使用自定义绘制的框架,并带有一个配置选项来忽略您用户的偏好,而在其他桌面环境中也使用漂亮的窗口边框,但尚未实现。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...