Avalonia 本身不内置可停靠布局系统,但可通过第三方库 Avalonia.Dock 实现接近 VSCode 的体验;它支持拖拽停靠、浮动窗口、布局保存/恢复、跨平台及主题适配,并提供事件链与模型接口用于状态管理与扩展。

Avalonia 本身不内置类似 VSCode 的可停靠(Docking)布局系统,但可以通过第三方库实现接近的体验。目前最成熟、与 Avalonia 兼容性好且持续维护的方案是 Avalonia.Dock(原名 Avalonia.Docking),它专为 Avalonia 设计,提供标签页式文档、可拖拽停靠、浮动窗口、自动布局保存/恢复等核心功能,视觉和交互上高度贴近 VSCode。
使用 Avalonia.Dock 构建可停靠界面
Avalonia.Dock 是开源项目(GitHub 上维护),基于 Avalonia 原生控件构建,不依赖 Win32 或平台特定 API,跨平台可用。它支持:左侧/右侧/底部/顶部停靠、中心文档区、浮动面板、拖拽重组、布局序列化(JSON)、主题适配(包括深色模式)。
- 通过 NuGet 安装:
Avalonia.Dock和Avalonia.Themes.Fluent(推荐 Fluent 主题以获得现代 UI) - 在 XAML 中声明
DockHost作为根容器,内部嵌套DockLayout描述初始结构 - 每个可停靠区域用
DockPane包裹内容(如代码编辑器、解决方案资源管理器、输出面板),并设置CanFloat="True"、CanDock="True" - 文档类视图(如打开的文件)建议放在
DockDocument中,自动进入中央标签页区
自定义停靠行为与状态管理
VSCode 式体验的关键不仅在于视觉停靠,还在于用户操作后的状态持久化与上下文感知。Avalonia.Dock 提供了完整事件链和模型接口:
标签: vscode js markdown git json github 资源管理器 win 配置文件
还木有评论哦,快来抢沙发吧~