avalonia 设置全局默认字体

在App.axaml中Style下添加Setter设置。
直接设置窗体Window是不行的,窗体中的用户控件没有使用到设置的字体,所有要根据控件类型分别设置字体。
注意此处与WPF不同,WPF是在App.xml中添加如下标记(没有试过)

<Style TargetType="{x:Type Window}"> 
    <Setter Property="FontFamily" Value="Segoe UI" />             
</Style> 

还需要在InitializeComponent调用后将以下内容添加到构造函数中:

FrameworkElement.StyleProperty.OverrideMetadata(typeof(Window), new FrameworkPropertyMetadata
{
DefaultValue = FindResource(typeof(TextBlock))
});

或者 在窗体的.xaml设计页面添加调用:

Style=“{StaticResource WinAll}”

以下是设置字体为宋体

<Application.Styles>
	<Style Selector="InputElement">
		<Setter Property="TextBlock.FontFamily" Value="Simsun"/>
	</Style>
	<Style Selector="Button">
		<Setter Property="FontFamily" Value="Simsun"/>
	</Style>
	<Style Selector="RadioButton">
		<Setter Property="FontFamily" Value="Simsun"/>
	</Style>
	<Style Selector="TextBlock">
		<Setter Property="FontFamily" Value="Simsun"/>
	</Style>
	<Style Selector="TextBox">
		<Setter Property="FontFamily" Value="Simsun"/>
	</Style>
	<Style Selector="ComboBox">
		<Setter Property="FontFamily" Value="Simsun"/>
	</Style>
	<Style Selector="Label">
		<Setter Property="FontFamily" Value="Simsun"/>
	</Style>
	<Style Selector="CheckBox">
		<Setter Property="FontFamily" Value="Simsun"/>
	</Style>
</Application.Styles>

你可能感兴趣的:(客户端跨平台开发,c#)