generic.xaml って何?

MSDN には

カスタム コントロール用の既定テンプレートの定義に使用されるメカニズムは、WPF から借用します。コントロール プロジェクトに Generic.xaml と名付けられたファイルを追加して開始します (このファイルは Generic.xaml という名前にする必要があります。大文字と小文字は区別しませんが、この名前は必須です)。続いて、Generic.xaml 内でスタイルを定義して、プロパティ セッターを使用してコントロールの Template プロパティに値を割り当てます。Silverlight ランタイムが (リソースとして埋め込まれた) コントロール アセンブリ内で自動的に Generic.xaml を探して、コントロールインスタンスにこのスタイルを適用します。既定のテンプレートを定義するほかに、スタイルは、Width や Height などの他のコントロールプロパティに既定の値を割り当てることもできます。

http://msdn.microsoft.com/ja-jp/magazine/cc721611.aspx

と書いてあります。

既定のテンプレートを提供することで、カスタムコントロールの使用者がわざわざテンプレートを書く必要が無くなり、簡単な XAML 記述で使えるようになるわけですね。