.Net-Avalonia学习笔记(六)-主题与样式
1、主题
(1)默认主题
官方自带的主题支持,通过设置Application.axaml中的RequestedThemeVariant属性来启用,代码如下:
<Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="AvaloniaUI_Simple.App"
RequestedThemeVariant="Default">
<!-- "Default" ThemeVariant follows system theme variant. "Dark" or "Light" are other available options. -->
<Application.Styles>
<FluentTheme />
</Application.Styles>
</Application>
如果要遵循系统当前的主题,可以将其设置为 "Default"。其他可用选项为 "Dark" 和 "Light"
(2)自定义主题
根据 PR #8166,现在方法 Styles.TryGetResource
需要一个可为空的 ThemeVariant
参数。这允许用户指定 Light
、Dark
和 Default
。
使用 ThemeVariant.Default
作为键将特定的主题字典标记为一种回退(fallback),以防在其他主题字典中找不到主题变体或资源键。
除了内置的 Light
、Dark
和 Default
值外,任何对象值都可以用作键(因为它包装在 ThemeVariant(object key)
结构中)。如果开发人员希想要在 XAML 代码中定义多个自定义主题作为静态属性并从中引用它们,则可以在此处使用 {x:Static}
标记扩展。
// 以前
bool TryGetResource(object key, out object? value)
// Avalonia v11
bool TryGetResource(object key, ThemeVariant? theme, out object? value)
本文来自博客园,作者:꧁执笔小白꧂,转载请注明原文链接:https://www.cnblogs.com/qq2806933146xiaobai/p/18320864