Avalonia如何使用Material.Avalonia主题库 Avalonia MD主题库用法

来源:这里教程网 时间:2026-02-21 17:35:54 作者:

直接在 Avalonia 项目中集成 Material.Avalonia,核心就三步:装包、配样式、用控件。不需要改架构,也不用重写界面,改几行配置就能让应用拥有标准的 Material Design 外观和深色/浅色主题切换能力。

安装 NuGet 包

确保项目基于 .NET SDK 和 Avalonia 模板(如

avalonia.app
),然后执行:

dotnet add package Material.Avalonia --version 3.7.2
(推荐用最新稳定版)
如需 DataGrid 或 Dialogs 等高级组件,额外安装对应扩展:
dotnet add package Material.Avalonia.DataGrid

配置 App.axaml 主题样式

打开

App.axaml
(注意是 .axaml,不是 .xaml),在
<application.styles></application.styles>
中引入 Material 主题。两种常用方式:

基础引入(含默认浅色主题):
自定义主题(比如深色紫主色):

注意:Material 样式应放在

FluentTheme
之后,避免被默认样式覆盖。

在界面中使用 Material 风格控件

无需替换原有控件类型,只需加

Classes
属性或使用配套命名空间。例如:

按钮:
<button content="保存" classes="Primary"></button>
(支持
Primary
Secondary
Outlined
文本框:
<textbox placeholdertext="请输入邮箱"></textbox>
(自动带浮动标签效果)
对话框:引用
Material.Avalonia.Dialogs
后,调用
DialogHost.Show(...)

所有原生 Avalonia 控件(Button、TextBox、ComboBox 等)都会自动获得 Material 视觉风格,包括动效、焦点反馈和禁用态处理。

运行时切换主题

Material.Avalonia 支持代码中动态切换主题,比如响应用户设置:

获取当前主题:
Application.Current?.ActualThemeVariant
切换为深色:
Application.Current.RequestedThemeVariant = ThemeVariant.Dark;
切换为浅色:
Application.Current.RequestedThemeVariant = ThemeVariant.Light;

切换后,所有控件会自动更新颜色、阴影和对比度,无需手动刷新界面。

基本上就这些。不复杂但容易忽略细节——比如样式加载顺序、命名空间声明、扩展包单独安装。配好之后,你的 Avalonia 应用就真正拥有了跨平台一致、符合 Material 规范的现代 UI。

相关推荐