Avalonia 窗口与配置
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 |

浙公网安备 33010602011771号