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