Share via


x:Class 属性

更新 : 2007 年 11 月

マークアップと分離コード間を部分クラスで結合するように、XAML のコンパイルを構成します。コードの部分クラスは、共通言語仕様 (CLS) 言語で個別のコード ファイル内に定義され、マークアップの部分クラスは、XAML のコンパイル時にコード生成によって作成されます。

XAML 属性の使用方法

<object x:Class="namespace.classname"...>
  ...
</object>

XAML 値

namespace

省略可能。classname で識別される部分クラスを含む CLR 名前空間を指定します。namespace を指定する場合は、namespace と classname をドット (.) で区切ります。

classname

必須。読み込まれた XAML、およびその XAML の分離コードを接続する部分クラスの CLR 名を指定します。 

解説

x:Class は、Extensible Application Markup Language (XAML) 要素ツリーのルートで、コンパイルされている任意の要素の属性 (Extensible Application Markup Language (XAML) が Page ビルド アクションによってプロジェクトに組み込まれている場合)、またはコンパイル済みアプリケーションのアプリケーション定義の Application ルートの属性として宣言できます。ページ ルートまたはアプリケーション ルート以外の要素、およびコンパイルされていない Extensible Application Markup Language (XAML) ファイル環境で x:Class を宣言すると、コンパイル時エラーが発生します。

x:Class として使用するクラスは、入れ子にできません。

x:Class は、分離コードを一切持たない XAML ページが存在することは全く問題ないという意味で省略可能ですが、ページでイベントを処理する属性の値が宣言されている場合や、定義する側のクラスが分離コード クラスに含まれているカスタム要素がインスタンス化される場合には、分離コードの適切なクラスに対する x:Class 参照 (または x:Subclass) を提供する必要があります。 

x:Class 属性の値は、クラスの完全修飾型名を指定する文字列です。単純なアプリケーションの場合、分離コードも構成されていれば (定義がクラス レベルで開始する)、CLR 名前空間情報を省略できます。ページまたはアプリケーション定義の分離コード ファイルは、コンパイル済みアプリケーションを作成するプロジェクトの一部として含まれているコード ファイル内にある必要があります。CLR クラスの名前規則に従う必要があります。詳細については、「Type Definitions」を参照してください。既定では、分離コード クラスは public である必要がありますが、x:ClassModifier 属性を使用して、異なるアクセス レベルとして定義できます。

x:Class 属性値の内容は、WPF XAML 実装固有であることに注意してください。WPF の外部の他の XAML 実装はマネージ コードを使用せずに、別のクラス解決式を使用する場合があります。

参照

概念

XAML およびカスタム クラス

分離コードと XAML

参照

x:Subclass 属性

x:ClassModifier 属性