Xamarin.Forms Textformatvorlagen
Formatieren von Text in Xamarin.Forms
Formatvorlagen können verwendet werden, um die Darstellung von Bezeichnungen, Einträgen und Editoren anzupassen. Formatvorlagen können einmal definiert und von vielen Ansichten verwendet werden, aber eine Formatvorlage kann nur mit Ansichten eines Typs verwendet werden.
Formatvorlagen können mithilfe der Eigenschaft eines bestimmten Steuerelements Style
selektiv Key
zugewiesen und angewendet werden.
Integrierte Formatvorlagen
Xamarin.Forms enthält mehrere integrierte Stile für allgemeine Szenarien:
BodyStyle
CaptionStyle
ListItemDetailTextStyle
ListItemTextStyle
SubtitleStyle
TitleStyle
Um eine der integrierten Formatvorlagen anzuwenden, verwenden Sie die DynamicResource
Markuperweiterung, um die Formatvorlage anzugeben:
<Label Text="I'm a Title" Style="{DynamicResource TitleStyle}"/>
In C# werden integrierte Formatvorlagen aus Device.Styles
:
label.Style = Device.Styles.TitleStyle;
Benutzerdefinierte Formatvorlagen
Stile bestehen aus Settern und Settern, die aus Eigenschaften bestehen, und die Werte, auf die die Eigenschaften festgelegt werden.
In C# würde eine benutzerdefinierte Formatvorlage für eine Beschriftung mit rotem Text von Größe 30 wie folgt definiert:
var LabelStyle = new Style (typeof(Label)) {
Setters = {
new Setter {Property = Label.TextColorProperty, Value = Color.Red},
new Setter {Property = Label.FontSizeProperty, Value = 30}
}
};
var label = new Label { Text = "Check out my style.", Style = LabelStyle };
In XAML:
<ContentPage.Resources>
<ResourceDictionary>
<Style x:Key="LabelStyle" TargetType="Label">
<Setter Property="TextColor" Value="Red"/>
<Setter Property="FontSize" Value="30"/>
</Style>
</ResourceDictionary>
</ContentPage.Resources>
<ContentPage.Content>
<StackLayout>
<Label Text="Check out my style." Style="{StaticResource LabelStyle}" />
</StackLayout>
</ContentPage.Content>
Beachten Sie, dass Ressourcen (einschließlich aller Formatvorlagen) innerhalb ContentPage.Resources
definiert sind, die ein gleichgeordnetes Element des vertrauteren ContentPage.Content
Elements sind.
Anwenden von Formatvorlagen
Nachdem eine Formatvorlage erstellt wurde, kann sie auf jede Ansicht angewendet werden, die mit der zugehörigen TargetType
Ansicht übereinstimmen.
In XAML werden benutzerdefinierte Formatvorlagen auf Ansichten angewendet, indem sie ihre Style
Eigenschaft mit einer StaticResource
Markuperweiterung bereitstellen, die auf die gewünschte Formatvorlage verweist:
<Label Text="Check out my style." Style="{StaticResource LabelStyle}" />
In C# können Formatvorlagen entweder direkt auf eine Ansicht angewendet oder aus den Seiten ResourceDictionary
abgerufen und hinzugefügt werden. So fügen Sie direkt hinzu:
var label = new Label { Text = "Check out my style.", Style = LabelStyle };
So fügen Sie die Seite hinzu und rufen sie ab:ResourceDictionary
this.Resources.Add ("LabelStyle", LabelStyle);
label.Style = (Style)Resources["LabelStyle"];
Integrierte Formatvorlagen werden unterschiedlich angewendet, da sie auf Barrierefreiheitseinstellungen reagieren müssen. Um integrierte Formatvorlagen in XAML anzuwenden, wird die DynamicResource
Markuperweiterung verwendet:
<Label Text="I'm a Title" Style="{DynamicResource TitleStyle}"/>
In C# werden integrierte Formatvorlagen aus Device.Styles
:
label.Style = Device.Styles.TitleStyle;
Zugriff
Die integrierten Stile sind vorhanden, um die Einhaltung der Barrierefreiheitseinstellungen zu vereinfachen. Bei Verwendung einer der integrierten Formatvorlagen wird die Schriftgröße automatisch erhöht, wenn ein Benutzer seine Barrierefreiheitseinstellungen entsprechend festlegt.
Betrachten Sie das folgende Beispiel für dieselbe Seite mit Ansichten, die mit den integrierten Formatvorlagen formatiert sind, mit aktivierten und deaktivierten Barrierefreiheitseinstellungen:
Deaktiviert:
Aktiviert:
Um die Barrierefreiheit sicherzustellen, stellen Sie sicher, dass integrierte Formatvorlagen als Grundlage für textbezogene Formatvorlagen in Ihrer App verwendet werden und dass Sie Formatvorlagen konsistent verwenden. Weitere Informationen zum Erweitern und Arbeiten mit Formatvorlagen im Allgemeinen finden Sie unter "Formatvorlagen ".