|
|
|
@ -1,6 +1,8 @@ |
|
|
|
// Copyright (c) The Avalonia Project. All rights reserved.
|
|
|
|
// Licensed under the MIT license. See licence.md file in the project root for full license information.
|
|
|
|
|
|
|
|
using Avalonia.Controls.Mixins; |
|
|
|
using Avalonia.Controls.Presenters; |
|
|
|
using Avalonia.Controls.Templates; |
|
|
|
|
|
|
|
namespace Avalonia.Controls.Primitives |
|
|
|
@ -20,7 +22,18 @@ namespace Avalonia.Controls.Primitives |
|
|
|
/// Defines the <see cref="HeaderTemplate"/> property.
|
|
|
|
/// </summary>
|
|
|
|
public static readonly StyledProperty<IDataTemplate> HeaderTemplateProperty = |
|
|
|
AvaloniaProperty.Register<HeaderedContentControl, IDataTemplate>(nameof(HeaderTemplate)); |
|
|
|
AvaloniaProperty.Register<HeaderedContentControl, IDataTemplate>(nameof(HeaderTemplate)); |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Initializes static members of the <see cref="ContentControl"/> class.
|
|
|
|
/// </summary>
|
|
|
|
static HeaderedContentControl() |
|
|
|
{ |
|
|
|
ContentControlMixin.Attach<HeaderedContentControl>( |
|
|
|
HeaderProperty, |
|
|
|
x => x.LogicalChildren, |
|
|
|
"PART_HeaderPresenter"); |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets the header content.
|
|
|
|
@ -29,7 +42,16 @@ namespace Avalonia.Controls.Primitives |
|
|
|
{ |
|
|
|
get { return GetValue(HeaderProperty); } |
|
|
|
set { SetValue(HeaderProperty, value); } |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets the header presenter from the control's template.
|
|
|
|
/// </summary>
|
|
|
|
public IContentPresenter HeaderPresenter |
|
|
|
{ |
|
|
|
get; |
|
|
|
private set; |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets the data template used to display the header content of the control.
|
|
|
|
@ -39,5 +61,16 @@ namespace Avalonia.Controls.Primitives |
|
|
|
get { return GetValue(HeaderTemplateProperty); } |
|
|
|
set { SetValue(HeaderTemplateProperty, value); } |
|
|
|
} |
|
|
|
|
|
|
|
/// <inheritdoc/>
|
|
|
|
protected override void RegisterContentPresenter(IContentPresenter presenter) |
|
|
|
{ |
|
|
|
base.RegisterContentPresenter(presenter); |
|
|
|
|
|
|
|
if (presenter.Name == "PART_HeaderPresenter") |
|
|
|
{ |
|
|
|
HeaderPresenter = presenter; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|