If you are using a HeaderTemplate and save the layout, when the layout is loaded next the headertemplate is blown away and replaced with a TextBlock. Title works just fine and is able to apply it's template.
I believe the code bug is in DockingLayoutFactory.cs in the RadPane LoadPane(XmlReader reader) method
public RadPane LoadPane(XmlReader reader)
{
string name = reader.Name;
Dictionary<string, string> attributes = ReadAttributes(reader);
RadPane elementByTypeName = null;
if (attributes.ContainsKey("SerializationTag"))
{
elementByTypeName = this.docking.NotifyElementLoading(attributes["SerializationTag"]) as RadPane;
}
if (elementByTypeName == null)
{
elementByTypeName = this.GetElementByTypeName(this.docking.GeneratedItemsFactory, name) as RadPane;
}
if (elementByTypeName == null)
{
throw new InvalidOperationException();
}
if (attributes.ContainsKey("SerializationTag"))
{
RadDocking.SetSerializationTag(elementByTypeName, attributes["SerializationTag"]);
}
ReadProperty(attributes, elementByTypeName, RadPane.IsPinnedProperty, "IsPinned", boolParser);
ReadProperty(attributes, elementByTypeName, RadPane.IsHiddenProperty, "IsHidden", boolParser);
ReadProperty(attributes, elementByTypeName, RadPane.TitleProperty, "Title", identityParser);
ReadProperty(attributes, elementByTypeName, HeaderedContentControl.HeaderProperty, "Header", identityParser);
The above line should most likely read: ReadProperty(attributes, elementByTypeName, RadPane.HeaderProperty, "Header", identityParser);
It looks that's why the control template is getting blown away.
Anyway to get this fixed?