HeaderedContentControlを継承し、Title、Subtitle、Iconという基本的な依存プロパティがいくつかあります。これらのプロパティをデータバインドするデフォルトのヘッダーテンプレートを提供できるようにしたいと思います。この例では、このクラスにHeaderedViewという名前を付けました。WPF:HeaderedContentControlから継承する
HeaderedViewで定義されているプロパティにバインドできる既定のヘッダーテンプレートを提供できません。次のようなマークアップを試しています。
<Style TargetType="{x:Type local:HeaderedView}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type HeaderedContentControl}">
<StackPanel>
<Grid>
<ContentPresenter ContentSource="Header"/>
</Grid>
<Grid>
<ContentPresenter ContentSource="Content"/>
</Grid>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<Grid>
<TextBlock Text="{TemplateBinding local:HeaderedView.Title}" />
</Grid>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
残念ながら、タイトルは表示されていません。
ヘッダーテンプレートは、置き換え可能でなければなりません(このため、私はHeaderedContentControlを利用します)。
このコントロールから継承したいと思うたびに、私は実装に苦労しているようです。どんな助けでも大歓迎です!