В MyCustomControl
я создал свойства зависимостей Heder
и HeaderTemplate
.
public static readonly DependencyProperty HeaderProperty =
DependencyProperty.Register(
"Header",
typeof(object),
typeof(MyCustomControl),
new FrameworkPropertyMetadata(
(object)null,
new PropertyChangedCallback(OnHeaderChanged)));
public static readonly DependencyProperty HeaderTemplateProperty =
DependencyProperty.Register(
"HeaderTemplate",
typeof(DataTemplate),
typeof(MyCustomControl),
new FrameworkPropertyMetadata(
(DataTemplate)null,
new PropertyChangedCallback(OnHeaderTemplateChanged)));
private static void OnHeaderTemplateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
// ???;
}
Я не понимаю, что я должен написать для HeaderTemplate
, чтобы применить к Header
.Я думаю, что это должно быть написано здесь OnHeaderTemplateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
, но что именно?
<Style TargetType="{x:Type local:MyCustomControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:MyCustomControl}">
<Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
<ContentPresenter ContentSource="Header"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>