Estilos de texto de Xamarin.FormsXamarin.Forms Text Styles

Descargar ejemplo descargar el ejemploDownload Sample Download the sample

Estilos de texto en Xamarin.FormsStyling text in Xamarin.Forms

Los estilos se pueden usar para ajustar la apariencia de las etiquetas, las entradas y editores.Styles can be used to adjust the appearance of labels, entries, and editors. Estilos pueden definirse una vez y utilizados por muchas vistas, pero solo puede usarse un estilo con vistas de un tipo.Styles can be defined once and used by many views, but a style can only be used with views of one type. Los estilos se pueden proporcionar un Key y aplicar selectivamente mediante un control específico Style propiedad.Styles can be given a Key and applied selectively using a specific control's Style property.

Estilos integradosBuilt-In Styles

Xamarin.Forms incluye varios integrada estilos para escenarios comunes:Xamarin.Forms includes several built-in styles for common scenarios:

  • BodyStyle
  • CaptionStyle
  • ListItemDetailTextStyle
  • ListItemTextStyle
  • SubtitleStyle
  • TitleStyle

Para aplicar uno de los estilos integrados, use el DynamicResource extensión de marcado para especificar el estilo:To apply one of the built-in styles, use the DynamicResource markup extension to specify the style:

<Label Text="I'm a Title" Style="{DynamicResource TitleStyle}"/>

En C#, se seleccionan los estilos integrados de Device.Styles:In C#, built-in styles are selected from Device.Styles:

label.Style = Device.Styles.TitleStyle;

Estilos personalizadosCustom Styles

Estilos constan de establecedores y constan de establecedores de propiedades y los valores de las propiedades se establecerá en.Styles consist of setters and setters consist of properties and the values the properties will be set to.

En C#, un estilo personalizado para una etiqueta con texto rojo de tamaño 30 se definiría como sigue:In C#, a custom style for a label with red text of size 30 would be defined as follows:

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 };

En XAML: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>

Tenga en cuenta que los recursos (incluidos todos los estilos) se definen dentro de ContentPage.Resources, que es un elemento relacionado de cuanto más se familiarice ContentPage.Content elemento.Note that resources (including all styles) are defined within ContentPage.Resources, which is a sibling of the more familiar ContentPage.Content element.

Aplicar estilosApplying Styles

Una vez que se ha creado un estilo, se puede aplicar a cualquier coincidencia de vista su TargetType.Once a style has been created, it can be applied to any view matching its TargetType.

En XAML, los estilos personalizados se aplican a vistas proporcionando sus Style propiedad con un StaticResource el estilo deseado de referencia de extensión de marcado:In XAML, custom styles are applied to views by supplying their Style property with a StaticResource markup extension referencing the desired style:

<Label Text="Check out my style." Style="{StaticResource LabelStyle}" />

En C#, estilos pueden se aplican directamente a una vista o agrega a y recuperarse de una página ResourceDictionary.In C#, styles can either be applied directly to a view or added to and retrieved from a page's ResourceDictionary. Para agregar directamente:To add directly:

var label = new Label { Text = "Check out my style.", Style = LabelStyle };

Para agregar y recuperar desde la página ResourceDictionary:To add and retrieve from the page's ResourceDictionary:

this.Resources.Add ("LabelStyle", LabelStyle);
label.Style = (Style)Resources["LabelStyle"];

Estilos integrados se aplican de forma diferente, ya que se deben responder a la configuración de accesibilidad.Built-in styles are applied differently, because they need to respond to accessibility settings. Para aplicar los estilos integrados en XAML, el DynamicResource se utiliza la extensión de marcado:To apply built-in styles in XAML, the DynamicResource markup extension is used:

<Label Text="I'm a Title" Style="{DynamicResource TitleStyle}"/>

En C#, se seleccionan los estilos integrados de Device.Styles:In C#, built-in styles are selected from Device.Styles:

label.Style = Device.Styles.TitleStyle;

AccesibilidadAccessibility

Los estilos integrados existen para que sea más fácil respetar las preferencias de accesibilidad.The built-in styles exist to make it easier to respect accessibility preferences. Al utilizar cualquiera de los estilos integrados, los tamaños de fuente aumentará automáticamente si un usuario establece las preferencias de accesibilidad en consecuencia.When using any of the built-in styles, font sizes will automatically increase if a user sets their accessibility preferences accordingly.

Considere el siguiente ejemplo de la misma página de vistas de un estilo con los estilos integrados con la configuración de accesibilidad habilitados y deshabilitados:Consider the following example of the same page of views styled with the built-in styles with accessibility settings enabled and disabled:

Deshabilitado:Disabled:

Habilitado:Enabled:

Para garantizar la accesibilidad, asegúrese de que los estilos integrados se utilizan como base para cualquier estilo relacionada con el texto dentro de la aplicación y que está utilizando estilos de forma coherente.To ensure accessibility, make sure that built-in styles are used as the basis for any text-related styles within your app, and that you are using styles consistently. Consulte estilos para obtener más detalles sobre la extensión y trabajar con estilos en general.See Styles for more details on extending and working with styles in general.