XAML スタイルを使用して Xamarin.Forms アプリのスタイルを設定するStyling Xamarin.Forms Apps using XAML Styles

はじめにIntroduction

Xamarin.Forms多くの場合、アプリケーションには同じ外観を持つ複数のコントロールが含まれています。 applications often contain multiple controls that have an identical appearance. 個々のコントロールの外観を設定すると、繰り返しが発生し、エラーが発生しやすくなります。Setting the appearance of each individual control can be repetitive and error prone. 代わりに、コントロールの種類で使用可能なプロパティをグループ化および設定することによって、コントロールの外観をカスタマイズするスタイルを作成できます。Instead, styles can be created that customize control appearance by grouping and setting properties available on the control type.

明示的なスタイルExplicit Styles

明示的なスタイルとは、プロパティを設定することによってコントロールに選択的に適用されるスタイルです StyleAn explicit style is one that is selectively applied to controls by setting their Style properties.

暗黙的なスタイルImplicit Styles

暗黙的なスタイルとは、 TargetType 各コントロールがスタイルを参照する必要がなく、同じのすべてのコントロールで使用されるスタイルです。An implicit style is one that's used by all controls of the same TargetType, without requiring each control to reference the style.

グローバル スタイルGlobal Styles

スタイルは、アプリケーションのに追加することで、グローバルに使用でき ResourceDictionary ます。Styles can be made available globally by adding them to the application's ResourceDictionary. これは、ページまたはコントロール間でスタイルが重複しないようにするために役立ちます。This helps to avoid duplication of styles across pages or controls.

スタイルの継承Style Inheritance

スタイルを他のスタイルから継承して、重複を減らし、再利用できるようにすることができます。Styles can inherit from other styles to reduce duplication and enable reuse.

動的スタイルDynamic Styles

スタイルは、プロパティの変更に応答せず、アプリケーションの継続中は変更されません。Styles do not respond to property changes, and remain unchanged for the duration of an application. ただし、アプリケーションは動的リソースを使用して、実行時に動的にスタイルの変更に応答できます。However, applications can respond to style changes dynamically at runtime by using dynamic resources.

デバイスのスタイルDevice Styles

Xamarin.Formsには、クラスに、デバイススタイルと呼ばれる6つの動的スタイルが含まれてい Devices.Styles ます。 includes six dynamic styles, known as device styles, in the Devices.Styles class. 6つのスタイルはすべてインスタンスにのみ適用でき Label ます。All six styles can be applied to Label instances only.

スタイルクラスStyle Classes

Xamarin.Formsスタイルクラスを使用すると、スタイルの継承を使用せずに、コントロールに複数のスタイルを適用できます。 style classes enable multiple styles to be applied to a control, without resorting to style inheritance.