XAML 2009 言語機能
XAML 2009 とは、既存の XAML 言語仕様を拡張した、XAML の新しい言語機能の短縮名です。 XAML 2009 には、いくつかの新しいディレクティブと構造が導入されています。 たとえば、x:Arguments ディレクティブ、x:FactoryMethod ディレクティブ、x:Reference のマークアップ拡張機能、x:TypeArguments ディレクティブ、一般的な言語プリミティブの組み込み型 (x:Char など) が挙げられます。
このトピックは、次のセクションで構成されています。
- WPF および Visual Studio での XAML 2009 のサポート
- 関連トピック
WPF および Visual Studio での XAML 2009 のサポート
WPF では XAML 2009 の機能を使用できますが、WPF マークアップ コンパイルされていない XAML に限定されます。 マークアップ コンパイルされた XAML、および XAML の BAML 形式は、現在、XAML 2009 言語のキーワードと機能をサポートしていません。
WPF に Loose XAML を読み込むための既存の方法には、CLR 型および型システムに対するセキュリティ制限およびアクセス制限が課されていることがあります。この制限は、マークアップ コンパイルされた XAML に対する制限よりも限定的です。 詳細については、「セキュリティ (WPF)」または「WPF のセキュリティ方針 - プラットフォーム セキュリティ」を参照してください。
XAML 2009 では、以前の XAML 2006 構造または基本的なマークアップ形式を変更する、追加機能が取り入れられています。
オブジェクト要素としての x:Key
XAML 2009 では x:Key をオブジェクト (オブジェクト要素値を持つプロパティ要素) としてサポートできますが、XAML 2006 では、x:Key は属性としてのみサポートされていました。 「x:Key ディレクティブ」の「XAML 2009」のセクションを参照してください。
プロパティ要素の xmlns
XAML 2009 はプロパティ要素の XAML 名前空間 (xmlns) 定義をサポートできますが、XAML 2006 はオブジェクト要素の xmlns 定義をサポートします。
イベント属性
イベントによってサポートされる属性については、XAML 2006 ではマークアップ コンパイルが関係していると仮定されて、イベントはマークアップ コンパイルに送信されます。 XAML 2009 はマークアップ拡張機能に似たマークアップ形式をサポートします。このマークアップ形式は、XAML のランタイム解析/読み込みが行われるまでイベント接続を遅延します。 ただし、WPF アプリケーション、および WPF の UI の XAML シナリオでは、一般的に、この機能は使用しません。 WPF およびその XAML 2006 の実装では、イベント属性処理の大部分に対し、UIElement レベルで定義されたルーティング イベントのイベント ハンドラー接続、およびそのマークアップ コンパイラ手順の組み合わせを使用します。 マークアップ コンパイラは、ビルド アクションによってマークアップ コンパイラが使用されることが宣言される、XAML のイベント属性の事前処理も行います。