开发环境:
编辑器: VisualStudio2022
Avalonia 版本:11.1.1
插件:Avalonia Template Studio\ Avalon for Vs2022
Nuget包如下:
Step1.新建项目并修改Program
先把字体文件放入引入为资源文件,否则在Ubuntu 上会报错!!!
public class Program
{
public static AppBuilder BuildAvaloniaApp()
{
var builder = AppBuilder
.Configure<App>()
.UsePlatformDetect()
.With(new X11PlatformOptions { EnableMultiTouch = true, UseDBusMenu = true, })
.With(new Win32PlatformOptions())
.UseSkia()
.With(
new FontManagerOptions
{
DefaultFamilyName =
"avares://Royma.Avalonia.Desktop/Assets/Fonts#Alibaba PuHuiTi 3.0"
}
);
#if DEBUG
builder.LogToTrace(LogEventLevel.Debug, LogArea.Property, LogArea.Layout, LogArea.Binding);
#endif
return builder;
}
[ExcludeFromCodeCoverage]
static void Main(string[] args) => BuildAvaloniaApp().StartWithClassicDesktopLifetime(args);
}
Step2.修改App.axaml 设置样式
<Application
x:Class="Royma.Avalonia.App"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
xmlns:u-semi="https://irihi.tech/ursa/themes/semi"
RequestedThemeVariant="Dark">
<Application.Resources>
<FontFamily x:Key="IconFont">avares://Common.PrismShare.Module/Resources/Fonts#iconfont</FontFamily>
</Application.Resources>
<Application.Styles>
<FluentTheme />
<StyleInclude Source="avares://Royma.Avalonia/Styles/Icons.axaml" />
<StyleInclude Source="avares://Semi.Avalonia/Themes/Index.axaml" />
<StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Fluent.xaml" />
<u-semi:SemiTheme Locale="zh-CN" />
</Application.Styles>
</Application>
备忘:
1.在安卓中使用:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
AndroidManifest.xml 文件中 android:requestLegacyExternalStorage="true"