Teilen über


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;

Beispiel für Geräteformatvorlagen

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.Resourcesdefiniert sind, die ein gleichgeordnetes Element des vertrauteren ContentPage.Content Elements sind.

Beispiel für benutzerdefinierte Formatvorlagen

Anwenden von Formatvorlagen

Nachdem eine Formatvorlage erstellt wurde, kann sie auf jede Ansicht angewendet werden, die mit der zugehörigen TargetTypeAnsicht ü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 ResourceDictionaryabgerufen 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:

Geräteformatvorlagen mit deaktivierter Barrierefreiheit

Aktiviert:

Geräteformatvorlagen mit aktivierter Barrierefreiheit

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 ".