Style Style Style Style Class

定義

型のインスタンスの間でプロパティ、リソース、およびイベント ハンドラーを共有できるようにします。Enables the sharing of properties, resources, and event handlers between instances of a type.

public ref class Style : System::Windows::Threading::DispatcherObject, System::Windows::Markup::IAddChild, System::Windows::Markup::INameScope, System::Windows::Markup::IQueryAmbient
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.ContentProperty("Setters")]
[System.Windows.Markup.DictionaryKeyProperty("TargetType")]
public class Style : System.Windows.Threading.DispatcherObject, System.Windows.Markup.IAddChild, System.Windows.Markup.INameScope, System.Windows.Markup.IQueryAmbient
type Style = class
    inherit DispatcherObject
    interface INameScope
    interface IAddChild
    interface IQueryAmbient
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope, IQueryAmbient
継承
属性
実装

次の例は、 Background Controlのプロパティに影響を与えるスタイル宣言を示しています。The following example shows a style declaration that will affect the Background property of a Control.

<Style x:Key="Style1">
  <Setter Property="Control.Background" Value="Yellow"/>
</Style>

上記のスタイルを適用するには、次の手順を実行します。To apply the above style, do the following:

<Label Content="Yellow Background" Style="{StaticResource Style1}" />

また、 TargetTypeプロパティを使用して、指定した型のすべての要素にスタイルを適用することもできます。You can also apply styles to all elements of a given type by using the TargetType property. スタイルにターゲット型を追加すると、設定するプロパティをClassName.PropertyName構文で完全修飾する必要がなくなります。Adding the target type to the style means that you no longer have to fully qualify the property you are setting with the ClassName.PropertyName syntax. 次の例では、すべてTextBlockの要素に適用されるスタイルを定義します。The following example defines a style that will be applied to every TextBlock element.

<Style TargetType="{x:Type TextBlock}">
  <Setter Property="FontFamily" Value="Segoe Black" />
  <Setter Property="HorizontalAlignment" Value="Center" />
  <Setter Property="FontSize" Value="12pt" />
  <Setter Property="Foreground" Value="#777777" />
</Style>

注意

多くWPFWPFのコントロールは、他WPFWPFのコントロールの組み合わせで構成されているため、型のすべてのコントロールに適用されるスタイルを作成することで、広範な影響を与えることができます。Many WPFWPF controls consist of a combination of other WPFWPF controls, so creating a style that applies to all controls of a type can have broad impact. TextBlockたとえば、 TextBlock TextBlock ListBox内のコントロールを対象とするスタイルを作成した場合、がなどの別のコントロールの一部であっても、スタイルはキャンバス内のすべてのコントロールに適用されます。CanvasFor instance, if you create a style that targets the TextBlock controls in a Canvas, the style is applied to all TextBlock controls in the canvas, even if the TextBlock is part of another control, such as a ListBox.

定義済みのスタイルを拡張または継承する方法についてはBasedOn 、「」ページを参照してください。For information on how to extend or inherit from a defined style, see the BasedOn page.

注釈

は、 StyleまたはFrameworkElement FrameworkContentElementから派生した任意の要素に設定できます。You can set a Style on any element that derives from FrameworkElement or FrameworkContentElement. スタイルは、通常、セクション内のResourcesリソースとして宣言されます。A style is most commonly declared as a resource inside the Resources section. スタイルはリソースであるため、すべてのリソースに適用されるのと同じスコープ規則に従います。そのため、スタイルを宣言すると、適用できる場所が影響を受けます。Because styles are resources, they obey the same scoping rules that apply to all resources, so where you declare a style affects where it can be applied. たとえば、アプリケーション定義XAMLXAMLファイルのルート要素でスタイルを宣言すると、そのスタイルはアプリケーション内の任意の場所で使用できます。If, for instance, you declare the style in the root element of your application definition XAMLXAML file, the style can be used anywhere in your application. ナビゲーションアプリケーションを作成し、いずれかのアプリケーションのXAMLXAMLファイルでスタイルを宣言する場合は、そのXAMLXAMLファイルでのみスタイルを使用できます。If you are creating a navigation application and declare the style in one of the application's XAMLXAML files, the style can be used only in that XAMLXAML file. リソースのスコープルールの詳細については、「 XAML resources」を参照してください。For more information on scoping rules for resources, see XAML Resources.

スタイル宣言は、1つStyle Setter以上のオブジェクトのコレクションを含むオブジェクトで構成されます。The style declaration consists of a Style object that contains a collection of one or more Setter objects. SetterProperty 、とValueで構成されます。Each Setter consists of a Property and a Value. プロパティは、スタイルが適用される要素のプロパティの名前です。The property is the name of the property of the element the style is to apply to. スタイルがリソースとして宣言された後は、他のリソースと同じように参照できます。After the style is declared as a resource, it can then be referenced just like any other resource.

注意

Setter コレクション内に同じPropertyプロパティ値を持つ setter が複数ある場合は、last と宣言された setter が使用されます。If there is more than one setter in the setter collection with the same Property property value, the setter that is declared last is used. 同様に、スタイルと要素で同じプロパティの値を直接設定した場合は、要素に直接設定された値が優先されます。Similarly, if you set a value for the same property in a style and on an element directly, the value set on the element directly takes precedence.

スタイルWindows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)とテンプレートモデルを使用すると、外観の保守と共有、およびプレゼンテーションとロジックの分離が可能になります。The Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) styling and templating model allows maintenance and sharing of a look as well as the separation of presentation and logic. スタイルとテンプレートモデルには、をカスタマイズUIUIできるようにする一連の機能が含まれています。The styling and templating model includes a suite of features that enable you to customize your UIUI. この一連の機能にはStyle 、クラスだけでなく、次のものが含まれます。This suite of features includes the Style class as well as the following:

詳しくは、「 スタイルとテンプレート」をご覧ください。For more information, see Styling and Templating.

コンストラクター

Style() Style() Style() Style()

Style クラスの新しいインスタンスを初期化します。Initializes a new instance of the Style class.

Style(Type) Style(Type) Style(Type) Style(Type)

指定した Style で使用する Type クラスの新しいインスタンスを初期化します。Initializes a new instance of the Style class to use on the specified Type.

Style(Type, Style) Style(Type, Style) Style(Type, Style) Style(Type, Style)

指定した Style で使用する、指定した Type に基づいた Style クラスの新しいインスタンスを初期化します。Initializes a new instance of the Style class to use on the specified Type and based on the specified Style.

プロパティ

BasedOn BasedOn BasedOn BasedOn

現在のスタイルの基になる定義済みのスタイルを取得または設定します。Gets or sets a defined style that is the basis of the current style.

Dispatcher Dispatcher Dispatcher Dispatcher

この Dispatcher が関連付けられている DispatcherObject を取得します。Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
IsSealed IsSealed IsSealed IsSealed

スタイルが読み取り専用で変更できないかどうかを示す値を取得します。Gets a value that indicates whether the style is read-only and cannot be changed.

Resources Resources Resources Resources

このスタイルのスコープ内で使用できるリソースのコレクションを取得または設定します。Gets or sets the collection of resources that can be used within the scope of this style.

Setters Setters Setters Setters

Setter オブジェクトと EventSetter オブジェクトのコレクションを取得します。Gets a collection of Setter and EventSetter objects.

TargetType TargetType TargetType TargetType

このスタイルの対象となる型を取得または設定します。Gets or sets the type for which this style is intended.

Triggers Triggers Triggers Triggers

指定した条件に基づいてプロパティ値を適用する、TriggerBase オブジェクトのコレクションを取得します。Gets a collection of TriggerBase objects that apply property values based on specified conditions.

メソッド

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

この Style のハッシュ コードを返します。Returns the hash code for this Style.

GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
RegisterName(String, Object) RegisterName(String, Object) RegisterName(String, Object) RegisterName(String, Object)

現在の名前スコープに新しい名前とオブジェクトのペアを登録します。Registers a new name-object pair in the current namescope.

Seal() Seal() Seal() Seal()

このスタイルとすべてのファクトリおよびトリガーを変更できないようにロックします。Locks this style and all factories and triggers so they cannot be changed.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)
UnregisterName(String) UnregisterName(String) UnregisterName(String) UnregisterName(String)

名前スコープから名前オブジェクトのマッピングを削除します。Removes a name-object mapping from the namescope.

VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

明示的なインターフェイスの実装

IAddChild.AddChild(Object) IAddChild.AddChild(Object) IAddChild.AddChild(Object) IAddChild.AddChild(Object)

子オブジェクトを追加します。Adds a child object.

IAddChild.AddText(String) IAddChild.AddText(String) IAddChild.AddText(String) IAddChild.AddText(String)

オブジェクトにノードのテキスト コンテンツを追加します。Adds the text content of a node to the object.

INameScope.FindName(String) INameScope.FindName(String) INameScope.FindName(String) INameScope.FindName(String)

指定された識別名を持つオブジェクトを返します。Returns an object that has the provided identifying name.

IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String)

指定されたアンビエント プロパティを現在のスコープで使用できるかどうかを照会します。Queries whether a specified ambient property is available in the current scope.

ISealable.CanSeal ISealable.CanSeal ISealable.CanSeal ISealable.CanSeal
ISealable.IsSealed ISealable.IsSealed ISealable.IsSealed ISealable.IsSealed
ISealable.Seal() ISealable.Seal() ISealable.Seal() ISealable.Seal()

適用対象

こちらもご覧ください