如何为 Avalonia 中的每个平台/操作系统定义一组单独的样式?

Posted

技术标签:

【中文标题】如何为 Avalonia 中的每个平台/操作系统定义一组单独的样式?【英文标题】:How to define a separate set of styles for each platform/OS in Avalonia? 【发布时间】:2017-10-29 19:16:00 【问题描述】:

有没有办法根据操作系统应用不同的样式?如何为 Windows、macOS 和 Linux 定义不同的主题?

【问题讨论】:

【参考方案1】:

目前只有一个“默认”主题,特定于平台的主题正在计划中,但尚未实现。

如果您想要每个平台的主题/样式,您需要使用Application.Initialize 类手动将它们添加到您的Application.Styles 中(参见应用程序模板中的App.xaml)。对于平台检测,您可以使用AvaloniaLocator.Current.GetService<IRuntimePlatform>().GetRuntimeInfo().OperatingSystem

【讨论】:

以上是关于如何为 Avalonia 中的每个平台/操作系统定义一组单独的样式?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 icarousel 中的每个按钮创建单独的操作?

在 FirstVC 中选择单元格后,如何为 SecondVC 中的每个单元格调用按钮操作?

Avalonia跨平台入门第八篇之控件的拖放

教你如何为 Mac 版 Chrome 增加启动参数

.NET6+Avalonia开发支持跨平台的仿WPF应用程序以及基于ubuntu系统的演示

如何为javascript数组中的每个对象动态添加属性