惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
Engineering at Meta
Engineering at Meta
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
Jina AI
Jina AI
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
L
LangChain Blog
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
美团技术团队
博客园 - 三生石上(FineUI控件)
N
Netflix TechBlog - Medium
D
DataBreaches.Net
P
Proofpoint News Feed
小众软件
小众软件
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss
WordPress大学
WordPress大学
雷峰网
雷峰网
G
Google Developers Blog

博客园 - 丹心石

数据字节位改变 锁定鼠标光标到指定屏幕 WPF 访问WebAPI Avalonia 避坑经验总结 Avalonia 程序打包成Linux平台的运行程序 数据处理与转换 信号与槽 Qt 串口通信 Avalonia 设计时DataContext数据山下文和WPF设计时DataContext数据上下文 Avalonia Ursa 使用 Avalonia-消息对话框 Avalonia-数据绑定 Avalonia-样式 阿里图标库iconfont 在Avalonia 中的使用 Avalonia MVVM Avlonia 自定义控件 Sqlite EF For ConsoleCore Sqlite EF CodeFirst For WPF win10 环境变量不可编辑 WCF-双工通讯 MahMetro 框架学习 由于缺少调试目标“xxx”Visual Studio 无法开始调试。或者响应地设置outputpath和AssemblyName 属性 WPF 应用程序本地化-资源文件方式 FastReport 行高设置实现行高随内容自动变化
Avalonia 窗口与配置
丹心石 · 2026-06-30 · via 博客园 - 丹心石

Window 窗口边框设置

 SystemDecorations="None" 无边框
 

注意:在Avalonia 中,WindowStyle 是WPF的属性,并不使用
正确的属性是 SystemDecorations,它的枚举值包括 None、BorderOnly和Full

无边框设置后注意事项:

当把SystemDecorations 设置为None后,窗口会失去以下由操作系统提供的默认功能

  • 标题栏和图标
  • 关闭、最小化、最大化按钮
  • 通过拖动边框调整大小
  • 拖拽窗口移动

如果希望实现自定义标题栏,通过需要配合以下属性进行精细控制

  • ExtendClientAreaToDecorationsHint="True" : 让内容区域扩展到原本标题栏所在的区域
  • ExtendclientAreaChromeHints="NoChrome":移除系统自带的控制按钮(最大化、最小化、关闭)

关于移动窗体

你需要在自定义的标题栏区域或窗口任意位置处理鼠标事件,调用 this.BeginMoveDrag(e)
方法来实现拖拽移动窗口的功能.

PointerPressed="Window_PointerPressed" //在该方法中加入 this.BeginMoveDrag(e) 即可

设置窗口显示位置

   public void SetPosition()
   {
       //获取所有屏幕
       var screens = this.Screens.All;
       if (screens.Count > 1)
       {
           //选择第二个屏幕作为目标
           var targetScreen=screens[1];
           //获取该屏幕的工作区
           var rect = targetScreen.WorkingArea;
           //设置窗口在屏幕左上角显示
           this.Position=new PixelPoint(rect.X, rect.Y);
       }
   }

读取配置文件

需要安装包:

包名 作用
Microsoft.Extensions.Configuration 提供配置的基础接口和抽象类
Microsoft.Extensions.Configuration.Json 提供JSON文件读取配置的能力
Microsoft.Extensions.Configuration.Builder 提供Get、Get(type)、Bind()等扩展方法