XAMLではプロパティがすべて文字列で設定される

XAMLでは、プロパティの値をすべてダブルクォーテーションでくくって文字列として設定します。
たとえば、下記のコードでは、TextBoxクラス(System.Windows.Controls名前空間)のTextプロパティとFontSizeプロパティに、文字列としてそれぞれ"GrapeCity"と"36"を設定しています。


<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    >
  <TextBox Text="GrapeCity" FontSize="36"/>
</Page>


TextプロパティはString型ですが、FontSizeプロパティはDouble型です。これでなぜうまくいくのかとちょっと疑問に思ったのですが、どうやら各プロパティでTypeConverterが使われているからのようです。
FontSizeプロパティを見ますと、TypeConverterAttributeでFontSizeConverterクラス(System.Windows名前空間)というTypeConverterの派生クラスが指定されています。このようにSystem.Windows名前空間にはたくさんのコンバータが用意されており、String型以外のプロパティにはそれぞれコンバータが指定されているので、文字列で値を設定するようになっているようです。
ということは、たとえxmlnsで今までのアセンブリへの名前空間を追加しても、String型以外のプロパティはXAMLから設定できないということになるのでしょうね。