Das gibt null
:Was ist die Standardschriftfamilie?
DefaultFontFamily = Font.SystemFontOfSize(NamedSize.Default).FontFamily;
Neben dieser:
DefaultFontFamily = new Label().FontFamily;
Was ist der richtige Weg, es zu tun?
Das gibt null
:Was ist die Standardschriftfamilie?
DefaultFontFamily = Font.SystemFontOfSize(NamedSize.Default).FontFamily;
Neben dieser:
DefaultFontFamily = new Label().FontFamily;
Was ist der richtige Weg, es zu tun?
Es gibt keinen richtigen Weg, um es zu tun - da es keine plattformübergreifende 'Standardschriftfamilie' gibt, und auch die Tatsache, dass es plattformspezifisch ist.
auf diese weiter zu erarbeiten, um diese Eigenschaft verweisen möchte als für Label
im Quellcode definiert,
public static readonly BindableProperty FontFamilyProperty = FontElement.FontFamilyProperty;
die wiederum auf die Abhängigkeitseigenschaft bezieht sich wie in FontElement
definiert,
public static readonly BindableProperty FontFamilyProperty =
BindableProperty.Create("FontFamily", typeof(string), typeof(IFontElement), default(string),
propertyChanged: OnFontFamilyChanged);
oder die statische Methode, die Sie für SystemFontOfSize
verwiesen haben.
public static Font SystemFontOfSize(NamedSize size)
{
var result = new Font { NamedSize = size };
return result;
}
Wie Sie sehen können, in beiden Fällen als pro-Quellcode, der Wert 'null'
für FontFamily
ist nicht unerwartet. (Im ersten Fall wird die Abhängigkeitseigenschaft mit Standardwert als default(string)
definiert, die auf null übersetzt, und in zweitem Fall Wert für FontFamily
wird nie)
Das Gleiche gilt für Font.Default
. Beim weiteren Graben, kommen Sie über IsDefault
, die wie folgt definiert ist:
public bool IsDefault
{
get { return FontFamily == null && FontSize == 0 && NamedSize == NamedSize.Default && FontAttributes == FontAttributes.None; }
}
Also, wenn FontFamily
null
ist, dann ist es der Standard in Xamarin Formen Öko-System.
Wenn Label
auf einer bestimmten Plattform gemacht bekommt, dann, wenn seine FontFamily
Eigenschaft speziell von 'null'
auf einen Wert geändert wird, die Schriftart-Eigenschaft auf der nativen Kontrolle wird auch nie geändert. Das native Steuerelement wird daher mit der Standardschriftfamilie für diese Plattform gerendert.
Um diese Standardschriftart zu erhalten, müssen Sie implement native-services, and use dependency-injection, um diesen Wert zu erhalten.
Weitere Informationen zu nativen Steuerelementen, die für Label
verwendet werden, finden Sie unter link.