|
|
|
@ -1,9 +1,9 @@ |
|
|
|
using System; |
|
|
|
|
|
|
|
using Avalonia.Controls.Metadata; |
|
|
|
using Avalonia.Controls.Primitives; |
|
|
|
using Avalonia.Controls.Templates; |
|
|
|
using Avalonia.Controls.Utils; |
|
|
|
using Avalonia.Data; |
|
|
|
using Avalonia.Input; |
|
|
|
using Avalonia.Layout; |
|
|
|
using Avalonia.LogicalTree; |
|
|
|
using Avalonia.Media; |
|
|
|
@ -14,6 +14,7 @@ namespace Avalonia.Controls.Presenters |
|
|
|
/// <summary>
|
|
|
|
/// Presents a single item of data inside a <see cref="TemplatedControl"/> template.
|
|
|
|
/// </summary>
|
|
|
|
[PseudoClasses(":empty")] |
|
|
|
public class ContentPresenter : Control, IContentPresenter |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
@ -102,6 +103,11 @@ namespace Avalonia.Controls.Presenters |
|
|
|
TemplatedParentProperty.Changed.AddClassHandler<ContentPresenter>((x, e) => x.TemplatedParentChanged(e)); |
|
|
|
} |
|
|
|
|
|
|
|
public ContentPresenter() |
|
|
|
{ |
|
|
|
UpdatePseudoClasses(); |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Gets or sets a brush with which to paint the background.
|
|
|
|
/// </summary>
|
|
|
|
@ -424,9 +430,15 @@ namespace Avalonia.Controls.Presenters |
|
|
|
_recyclingDataTemplate = null; |
|
|
|
} |
|
|
|
|
|
|
|
UpdatePseudoClasses(); |
|
|
|
InvalidateMeasure(); |
|
|
|
} |
|
|
|
|
|
|
|
private void UpdatePseudoClasses() |
|
|
|
{ |
|
|
|
PseudoClasses.Set(":empty", Content is null); |
|
|
|
} |
|
|
|
|
|
|
|
private double GetLayoutScale() |
|
|
|
{ |
|
|
|
var result = (VisualRoot as ILayoutRoot)?.LayoutScaling ?? 1.0; |
|
|
|
|