ThemeInfoAttribute クラス


アセンブリ用のテーマ ディクショナリが格納される場所を指定します。Specifies the location in which theme dictionaries are stored for an assembly.

public ref class ThemeInfoAttribute sealed : Attribute
public sealed class ThemeInfoAttribute : Attribute
type ThemeInfoAttribute = class
    inherit Attribute
Public NotInheritable Class ThemeInfoAttribute
Inherits Attribute


この属性は、アセンブリレベルで使用され、定義されているコントロールのアセンブリおよびリソースディクショナリが配置されているテーマリソースディクショナリを示します。This attribute is used at the assembly level to indicate which theme resource dictionaries are being declared by an assembly for its defined controls, and where the resource dictionaries are located.

たとえば、テーマ固有のリソースディクショナリを提供せず、すべてのリソース参照のリソース定義を提供する generic.xaml がアセンブリのコントロールクラス定義が存在する同じアセンブリにコンパイルされる場合は、アセンブリプロジェクトの AssemblyInfo.cs に次の属性を適用します。For example, if you do not provide theme-specific resource dictionaries, and your generic.xaml that supplies resource definitions for all resource lookups is compiled into the same assembly in which the assembly's control class definitions exist, you would apply the following attribution in the AssemblyInfo.cs for the assembly project:

[assembly:ThemeInfoAttribute(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)]

WPF のテーマシステムでリソースディクショナリを使用できるようにするには、ThemeInfoAttribute アプリケーションに加えて、プロジェクトとアセンブリに追加の特性が必要です。In addition to ThemeInfoAttribute application, your project and assembly must have additional characteristics in order for the resource dictionaries to be usable by the WPF theming system.

  • SourceAssemblyを宣言する場合は、参照先のリソースディクショナリをアセンブリ構造内の themes ディレクトリ内に配置する必要があります。If you declare SourceAssembly, then the referenced resource dictionary should be placed within a themes directory in the assembly structure.

  • ThemeDictionaryLocationSourceAssembly を宣言する場合、XAML ファイルの名前は themes\<Theme Name>.<Theme Color>.xamlXAML ファイル名前付けスキームに準拠している必要があります。If you declare SourceAssembly for ThemeDictionaryLocation, then the names of the XAML files are expected to conform to the XAML file naming scheme themes\<Theme Name>.<Theme Color>.xaml. たとえば、次に示すのは、クライアントで考えられるさまざまな WPF テーマシナリオをサポートするテーマファイルの一覧です。For example, the following is a list of theme files that support a variety of possible WPF theming scenarios on clients:

    • themes\luna.normalcolor.xaml

    • themes\luna.homestead.xaml

    • themes\luna.metallic.xaml

    • themes\royale.normalcolor.xaml

    • themes\aero.normalcolor.xaml

    • themes\classic.xaml

  • ExternalAssemblyを宣言する場合は、外部アセンブリ名が名前付けスキームに準拠している必要があります。また、各テーマの各アセンブリは、同じキー情報を使用してビルドする必要があります。If you declare ExternalAssembly, then the external assembly names are expected to conform to a naming scheme, and each assembly for each theme should be built using the same key information.

テーマリソースディクショナリを作成および使用する方法の詳細については、「コントロールの作成の概要」の「テーマレベルでのリソースの定義」セクションを参照してください。For more information about how to create and use theme resource dictionaries, see "Defining Resources at the Theme Level" section of the topic Control Authoring Overview.


ThemeInfoAttribute(ResourceDictionaryLocation, ResourceDictionaryLocation)

ThemeInfoAttribute クラスの新しいインスタンスを初期化して、アセンブリ内の型用のテーマ ディクショナリの場所を定義する属性を作成します。Initializes a new instance of the ThemeInfoAttribute class and creates an attribute that defines theme dictionary locations for types in an assembly.



テーマ固有ではないジェネリックなリソースの場所。The location of generic, not theme specific, resources.


テーマ固有のリソースの場所。The location of theme specific resources.


派生クラスで実装されると、この Attribute の一意の識別子を取得します。When implemented in a derived class, gets a unique identifier for this Attribute.

(継承元 Attribute)



このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。Returns a value that indicates whether this instance is equal to a specified object.

(継承元 Attribute)

このインスタンスのハッシュ コードを返します。Returns the hash code for this instance.

(継承元 Attribute)

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

(継承元 Object)

派生クラスでオーバーライドされるとき、このインスタンスの値が派生クラスの既定値であるかどうかを示します。When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(継承元 Attribute)

派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(継承元 Attribute)

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

(継承元 Object)

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

(継承元 Object)


_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

一連の名前を対応する一連のディスパッチ識別子にマップします。Maps a set of names to a corresponding set of dispatch identifiers.

(継承元 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。Retrieves the type information for an object, which can be used to get the type information for an interface.

(継承元 Attribute)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(継承元 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。Provides access to properties and methods exposed by an object.

(継承元 Attribute)