UWP-005 Type Converter を理解する

さて、ここでは タイプコンバーターについて解説します。

ボタンのXAMLで HorizontalAlignment プロパティは Left 文字列で設定します。

image

しかしこれをC#で書いた時には少し違って、HorizontalAlignment の型を持つ列挙型を使って定義されています。

image

なぜXAMLではC#のような厳密な型定義されたものではなく、文字列で定義することができるのかというと、タイプコンバーターという機能を使って型の変換が行われているからです。

個々の例でいえば、HorizontalAlignment にたいていMicrosoft の開発者がソースコードの特別な属性を追加していて、開発者が書いたコードの属性があるときは、Left をタイプコンバーターを使って変換します。試しにLeft の t を取ると該当する属性がないということでコンパイルエラーになります。

image

XAMLの特徴は、クラスのインスタンスを定義して、タイプコンバーターを使ってプロパティの設定を簡潔化することができるという点です。