@nit の発言に加えて、 a の内容にはContentControl内部自己接続がありません。Content代わりに、プロパティが親コントロールのプロパティにバインドされたデータである他のコントロール内で使用されることが一般的です...これにより、自動的に動作するように見える場合があります。
<ControlTemplate x:Key="DataGridCellWrapTemplate" TargetType="{x:Type DataGridCell}">
<Border Name="DataGridCellBorder">
<ContentControl Content="{TemplateBinding Content}" />
</Border>
</ControlTemplate>
この場合、ContentControl.Contentプロパティは内部的にプロパティにデータ バインドされDataGridCell.Contentます。これは、 の として設定されているものは何でもContent、DataGridCellこの に表示されることを意味しますContentControl。
は「データの保持者」と考えることができますが、ContentControlこれは必ずしもデータ バインドされたデータではありません。DataTemplateコレクション コントロール内のデータ オブジェクトがどのように見えるべきかを定義するために を作成することに (ほとんどの場合) 慣れています。ContentControlコレクションに for each アイテムがあるようなものと考えることができます。
これに続いて、 aを使用DataTemplateして各コレクション アイテムがどのように見えるかを定義できる場合、1 を使用して a 内の単一のアイテムContentControlがどのように見えるかを定義することもできます。
<ContentControl Content="{Binding SomeDataObject}"
ContentTemplate="{StaticResource SomeDataTemplateToDefineWhatTheDataLooksLike}" />
もちろん、プロパティDataTemplateを設定せずに関連する型のa を宣言した場合はx:Key、プロパティの設定を省略できContentTemplateます。したがってContentControl、 は、同じ を使用してコレクションから 1 つのアイテムを表示するのに便利ですDataTempate。
あなたのコメントに対処するには、それはStylea が使用する「制限されたデフォルト」が原因ですContentControl。詳細については、MSDN のContentControl クラスページを参照することをお勧めします...そのページから:
ContentControl には、限定された既定のスタイルがあります。コントロールの外観を向上させたい場合は、新しい DataTemplate を作成できます。