主题设置
Avalonia Fluent UI 支持亮色和暗色两种主题模式。
主题模式
跟随系统
默认情况下,应用会跟随操作系统的主题设置:
xml
<Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:fluent="using:AvaloniaFluentUI.Styling"
x:Class="YourApp.App"
RequestedThemeVariant="Default" // 设置默认主题
>
<Application.Styles>
<fluent:AvaloniaFluentTheme
CustomAccentColor="DeepPink" // 自定义主题色
>
</Application.Styles>
</Application>运行时切换主题
- 通过获取AvaloniaFluentTheme实例切换主题
csharp
// 获取实例
AvaloniaFluentTheme.Instance;
// 切换到暗色主题
AvaloniaFluentTheme.Instance.CurrentTheme = ThemeVariant.Dark;
// 切换到亮色主题
AvaloniaFluentTheme.Instance.CurrentTheme = ThemeVariant.Light;- 主题,主题色更改事件
csharp
// 订阅主题更改事件
AvaloniaFluentTheme.Instance.ThemeChanged += (_, theme) =>
{
Console.WriteLine($"当前主题: {theme}")
};
// 订阅主题色更改事件
AvaloniaFluentTheme.Instance.ThemeColorChanged += (_, color) =>
{
Console.WriteLine($"当前主题色: {color}")
};