Xamarin.Forms テキスト スタイル

サンプルのダウンロードサンプルのダウンロード

のテキストのスタイル設定 Xamarin.Forms

スタイルを使用して、ラベル、エントリ、エディターの外観を調整できます。 スタイルは一度定義でき、多くのビューで使用できますが、スタイルは 1 つの種類のビューでのみ使用できます。 スタイルは を Key 指定し、特定のコントロールの Style プロパティを使用して選択的に適用できます。

Built-In スタイル

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;

デバイス スタイルの例

カスタム スタイル

スタイルはセッターとセッターで構成され、プロパティとプロパティが設定される値で構成されます。

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;

ユーザー補助

組み込みのスタイルは、アクセシビリティの設定を尊重しやすくするために存在します。 組み込みのスタイルのいずれかを使用する場合、ユーザーがそれに応じてアクセシビリティの設定を行うと、フォント サイズが自動的に増加します。

アクセシビリティ設定を有効または無効にした組み込みスタイルでスタイル設定されたビューの同じページの次の例を考えてみましょう。

無効:

アクセシビリティが無効になっているデバイス スタイル

有効:

アクセシビリティが有効なデバイス スタイル

アクセシビリティを確保するには、組み込みのスタイルがアプリ内のテキスト関連のスタイルの基礎として使用されていること、およびスタイルを一貫して使用していることを確認します。 一般的な スタイル の拡張と操作の詳細については、「スタイル」を参照してください。