共用方式為


Xamarin.Forms 文字樣式

在中設定文字樣式 Xamarin.Forms

樣式可用來調整標籤、專案和編輯器的外觀。 樣式可以定義一次,並由許多檢視使用,但樣式只能與一種類型的檢視搭配使用。 樣式可以使用特定控制件的 Style 屬性選擇性地套Key用 和套用。

內建樣式

Xamarin.Forms 包含數 個常見案例的內 建樣式:

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

若要套用其中一個內建樣式,請使用 DynamicResource 標記延伸來指定樣式:

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

在 C# 中,會從 Device.Styles中選取內建樣式:

label.Style = Device.Styles.TitleStyle;

裝置樣式範例

自定義樣式

樣式是由 setter 和 setter 所組成,而屬性將會設定為的值。

在 C# 中,標籤的自訂樣式會定義大小為 30 的紅色文字,如下所示:

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

在 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>

請注意,資源 (包括所有樣式) 定義在 內 ContentPage.Resources,這是更熟悉 ContentPage.Content 元素的同層級。

自定義樣式範例

套用樣式

建立樣式之後,即可套用至符合其 TargetType的任何檢視。

在 XAML 中,自定義樣式會藉由提供參考StyleStaticResource所需樣式的標記延伸,來套用至檢視:

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

在 C# 中,樣式可以直接套用至檢視,或加入至頁面的 ,並從頁面擷 ResourceDictionary取。 若要直接新增:

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

若要從頁面的 ResourceDictionary新增和擷取 :

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

內建樣式會以不同的方式套用,因為它們需要響應輔助功能設定。 若要在 XAML 中套用內建樣式,會 DynamicResource 使用標記延伸:

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

在 C# 中,會從 Device.Styles中選取內建樣式:

label.Style = Device.Styles.TitleStyle;

協助工具選項

內建樣式存在,可讓您更輕鬆地遵守輔助功能喜好設定。 使用任何內建樣式時,如果使用者據此設定其輔助功能喜好設定,字型大小就會自動增加。

請考慮使用已啟用和停用輔助功能設定之內建樣式的相同檢視頁面範例:

已停用:

已停用輔助功能的裝置樣式

已啟用:

已啟用輔助功能的裝置樣式

若要確保輔助功能,請確定內建樣式會作為應用程式內任何文字相關樣式的基礎,而且您一致地使用樣式。 如需擴充和使用樣式的詳細資訊,請參閱 樣式