如何使用 Acss
安装依赖库
dotnet add package Nlnet.Avalonia.Css --version 1.0.0-beta.4
注册 Acss 和类型解析
这个过程也可以延后到初始化一起进行。
当前版本不支持使用多个 AcssContext,仅支持默认的 AcssContext.Default。
private static AppBuilder BuildAvaloniaApp()
{
return AppBuilder.Configure<App>()
...
// Use avalonia css stuff.
.UseAcssDefaultContext()
// Type resolver for 'Your.Lib'. The GenericTypeResolver<TSink> will load all
// types those belong to the assembly who contains the T class.
.WithTypeResolverForAcssDefaultContext(new GenericTypeResolver<TSink>())
;
}
初始化 AcssContext
你可以在 Application.Initialize() 函数当中选择性地做这些事情。当然其他时机也不受影响。
使用 Acss。
配置参数。
注册类型到类型解释服务中。
创建 Rider 配置。如果你使用了 Rider 作为开发工具的话。
加载 Acss 源。
到此,正常来说,Acss 已经生效。
private class void Initialize()
{
...
// [Optional] Use default css builder. It has same effect to
// AcssExtension.UseAvaloniaCssDefaultBuilder().
AcssContext.UseDefaultContext();
// [Optional] Set the current accent and other settings.
var cfg = AcssContext.Default.GetService<IAcssConfiguration>();
cfg.Accent = "blue";
cfg.EnableTransitions = true;
// [Optional] Create rider settings for this Acss builder.
var riderBuilder = AcssContext.Default.GetService<IRiderSettingsBuilder>();
riderBuilder.TryBuildRiderSettingsForAcss(out _, out _, null);
// Load acss files to Application.Current.Styles.
// You can keep the acssFile for more operations.
var loader = AcssContext.Default.GetService<IAcssLoader>();
var acssFile = loader.Load(Application.Current.Styles, new FileSource("Acss/Case.acss"));
// Or load acss files from a folder.
loader.LoadCollection(Application.Current.Styles, new FileSourceCollection("Acss/"));
...
}
最后更新于
这有帮助吗?