-
I want to use custom <TextBox.ContextMenu>
<ContextMenu>
<ContextMenu.Resources>
<FontFamily x:Key="Source Han Sans SC Normal" >avares://X04/Assets/Fonts#Source Han Sans SC Normal</FontFamily>
</ContextMenu.Resources>
<MenuItem Header="Clear" FontFamily="{DynamicResource Source Han Sans SC Normal}"/>
</ContextMenu>
</TextBox.ContextMenu> And there is a similar issue in <Button Classes="accent" Content="Open"
Margin="10"
FontFamily="StaticResource AR PL KaitiM Big5"/> But it certainly works: <Button Classes="accent"
Margin="10">
<TextBlock Text="Open" FontSize="16" FontFamily="{StaticResource AR PL KaitiM Big5}"/>
</Button> It seems to only work in Expected behaviorI want to know how to usefully use Desktop
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
Fortunately,I find an useful solution.
using Avalonia.Media;
namespace X04.Desktop;
public static class AppBuilderExtension
{
public static AppBuilder WithFontBySourceHanSansCN(this AppBuilder appBuilder)
{
var uri = "avares://Quick.AvaloniaFonts.SourceHanSansCN/Assets/Fonts#Source Han Sans CN";
return appBuilder.With(new FontManagerOptions()
{
DefaultFamilyName = uri,
FontFallbacks = new[] { new FontFallback { FontFamily = new FontFamily(uri) } }
});
}
}
using Avalonia;
using Avalonia.Media;
using Avalonia.ReactiveUI;
using System;
namespace X04.Desktop
{
internal sealed class Program
{
// Initialization code. Don't use any Avalonia, third-party APIs or any
// SynchronizationContext-reliant code before AppMain is called: things aren't initialized
// yet and stuff might break.
[STAThread]
public static void Main(string[] args) => BuildAvaloniaApp()
.StartWithClassicDesktopLifetime(args);
// Avalonia configuration, don't remove; also used by visual designer.
public static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure<App>()
.UsePlatformDetect()
//.WithInterFont()
.WithFontBySourceHanSansCN()
.LogToTrace()
.UseReactiveUI();
}
} Now run the app and it successfully works. |
Beta Was this translation helpful? Give feedback.
-
You can use The available properties are these: Avalonia/src/Avalonia.Controls/Documents/TextElement.cs Lines 17 to 76 in e8c3bf5 |
Beta Was this translation helpful? Give feedback.
Fortunately,I find an useful solution.
AppBuilderExtension.cs
WithInterFont()
withWithFontBySourceHanSansCN()
inProgram.cs
.