AvaloniaUI 窗口去除边框 - 完整指南

如果您使用的是 AvaloniaUI,您可以使用以下代码去除窗口边框,并设置透明背景,从而打造自定义窗口外观。

using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using Avalonia.Media;
using Avalonia.Platform;
using Avalonia.Styling;

public class MainWindow : Window
{
    public MainWindow()
    {
        this.InitializeComponent();
#if DEBUG
        this.AttachDevTools();
#endif

        // Remove window border
        this.ExtendClientAreaToDecorationsHint = true;
        this.CanResize = false;

        // Set background to transparent
        this.Background = new SolidColorBrush(Color.FromArgb(0, 0, 0, 0));
    }

    private void InitializeComponent()
    {
        AvaloniaXamlLoader.Load(this);
    }
}

解释:

  • ExtendClientAreaToDecorationsHint = true;: 将窗口内容区域扩展到装饰区域,确保内容不会被边框遮盖。
  • CanResize = false;: 禁用窗口大小调整功能,避免出现边框。
  • Background = new SolidColorBrush(Color.FromArgb(0, 0, 0, 0));: 设置窗口背景为透明。

重要提示:

  • 确保在代码中包含必要的命名空间。
  • ExtendClientAreaToDecorationsHint 属性非常关键,它确保您的窗口内容不会被隐藏在边框之下。

通过以上步骤,您可以成功去除 AvaloniaUI 窗口边框,并实现自定义窗口外观。

AvaloniaUI 窗口去除边框 - 完整指南

原文地址: https://www.cveoy.top/t/topic/nDOx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录