

新闻资讯
技术学院在Avalonia项目中集成Material.Avalonia只需三步:安装NuGet包(如Material.Avalonia 3.7.2及可选扩展)、在App.axaml中按顺序引入Material主题样式(置于FluentTheme之后)、为原生控件添加Classes属性或使用配套功能;支持运行时动态切换深色/浅色主题,自动更新视觉效果。
直接在 Avalonia 项目中集成 Material.Avalonia,核心就三步:装包、配样式、用控件。不需要改架构,也不用重写界面,改几行配置就能让应用拥有标准的 Material Design 外观和深色/浅色主题切换能力。
确保项目基于 .NET SDK 和 Avalonia 模板(如 avalonia.app),然后执行:
dotnet add package Material.Avalonia --version 3.7.2(推荐用最新稳定版)dotnet add package Material.Avalonia.DataGrid
打开 App.axaml(注意是 .axaml,不是 .xaml),在 中引入 Material 主题。两种常用方式:
注意:Material 样式应放在 FluentTheme 之后,避免被默认样式覆盖。
无需替换原有控件类型,只需加 Classes 属性或使用配套命名空间。例如:
(支持 Primary、Secondary、Outlined)(自动带浮动标签效果)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。