WPFのデータバインドで、XAMLで記述する場合の最適化に関する事が下記の書籍に載っていました。
XAMLでのデータバインドでは主に2つの記述方法があります。
・クラス修飾なしのプロパティ識別子指定
・クラス修飾ありのプロパティ識別子指定
「クラス修飾なしのプロパティ識別子指定」とはデータソースのプロパティ名をそのまま指定する方法です。
- クラス修飾なしのプロパティ識別子指定 -
<TextBlock Text="{Binding Name}" />
「クラス修飾ありのプロパティ識別子指定」とはデータソース名とプロパティ名を指定する方法です。
- クラス修飾ありのプロパティ識別子指定 -
<TextBlock Text="{Binding (Person.Name)}" />
これら2つの指定方法は同じ結果になりますが、データバインドにおける内部動作が異なります。クラス修飾がない場合は、内部で指定されたプロパティ名をリフレクションを使用し検索にいきます。
WPFではデータバインドが頻繁に使用される事と、リフレクションはオーバーヘッドが大きい事から、クラス修飾ありのプロパティ識別子指定の最適化は効果が大きいのではないでしょうか。