XAML 2009 言語機能
XAML 2009 は、既存の XAML 言語仕様を拡張する新しい XAML 言語機能の短縮形です。 XAML 2009 では、いくつかの新しいディレクティブとコンストラクトが導入されています。 これには、x:Arguments ディレクティブが含まれます。x:FactoryMethod ディレクティブ;x:Reference Markup Extension;x:TypeArguments ディレクティブ;および共通言語プリミティブの組み込み型 (例: x:Char
)。
WPF と Visual Studio での XAML 2009 のサポート
WPF では、XAML 2009 機能を使用できますが、WPF マークアップ コンパイルされていない XAML に対してのみ使用できます。 マークアップ コンパイル XAML と XAML の BAML 形式は、現在、XAML 2009 言語のキーワードと機能をサポートしていません。
WPF で緩やかな XAML を読み込むための既存の手法には、マークアップ コンパイル XAML よりも制限の厳しい CLR 型と型システムに対するセキュリティとアクセスの制限も考えられます。 詳細については、「セキュリティ (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 UI の WPF アプリケーションと XAML シナリオでは、通常、この機能は使用されません。 WPF とその XAML 2006 実装では、イベント属性処理の多くのために、UIElement レベルで定義されたルーティング イベントとそのマークアップ コンパイラ ステップのイベント ハンドラー配線の組み合わせを使用します。 マークアップ コンパイラは、ビルド アクションでマークアップ コンパイラが使用されることを宣言する XAML で見つかったイベント属性も前処理します。
関連項目
.NET Desktop feedback