Я хотел бы создать простой элемент управления, который наследуется от HeaderedContentControl и имеет некоторые базовые свойства зависимостей, такие как Title, Subtitle, Icon. Я хотел бы иметь возможность предоставить шаблон заголовка по умолчанию, который связывает эти свойства с данными. Для этого примера я назвал этот класс HeaderedView.
У меня проблемы с предоставлением шаблона заголовка по умолчанию, который можно привязать к свойствам, определенным в 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).
Каждый раз, когда мне кажется, что я хочу унаследовать этот элемент управления, мне кажется, что я борюсь с реализацией. Любая помощь будет принята с благодарностью!