问题描述
我使用 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 使用自定义绘制的框架,并带有一个配置选项来忽略您用户的偏好,而在其他桌面环境中也使用漂亮的窗口边框,但尚未实现。