From 2697104dbb886a193ae5344067254261b6392174 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Mon, 29 Jul 2019 14:43:56 +0200 Subject: [PATCH] Make `PopupHost` a templated control. --- src/Avalonia.Controls/Primitives/PopupHost.cs | 8 ++------ src/Avalonia.Themes.Default/DefaultTheme.xaml | 1 + src/Avalonia.Themes.Default/PopupHost.xaml | 12 ++++++++++++ 3 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 src/Avalonia.Themes.Default/PopupHost.xaml diff --git a/src/Avalonia.Controls/Primitives/PopupHost.cs b/src/Avalonia.Controls/Primitives/PopupHost.cs index a9dcb56ecb..5805bcb44c 100644 --- a/src/Avalonia.Controls/Primitives/PopupHost.cs +++ b/src/Avalonia.Controls/Primitives/PopupHost.cs @@ -1,24 +1,20 @@ using System; using System.Collections.Generic; -using System.Linq; using System.Reactive.Disposables; -using Avalonia.Controls.Presenters; using Avalonia.Controls.Primitives.PopupPositioning; using Avalonia.Interactivity; -using Avalonia.LogicalTree; using Avalonia.Media; using Avalonia.Threading; using Avalonia.VisualTree; namespace Avalonia.Controls.Primitives { - public class PopupHost : Decorator, IPopupHost, IInteractive, IManagedPopupPositionerPopup + public class PopupHost : ContentControl, IPopupHost, IInteractive, IManagedPopupPositionerPopup { private readonly OverlayLayer _overlayLayer; private PopupPositionerParameters _positionerParameters = new PopupPositionerParameters(); private ManagedPopupPositioner _positioner; private bool _shown; - private IControl _content; public PopupHost(OverlayLayer overlayLayer) { @@ -28,7 +24,7 @@ namespace Avalonia.Controls.Primitives public void SetContent(IControl control) { - Child = control; + Content = control; } public IVisual VisualRoot => null; diff --git a/src/Avalonia.Themes.Default/DefaultTheme.xaml b/src/Avalonia.Themes.Default/DefaultTheme.xaml index 9c60b29193..75dc5edd94 100644 --- a/src/Avalonia.Themes.Default/DefaultTheme.xaml +++ b/src/Avalonia.Themes.Default/DefaultTheme.xaml @@ -19,6 +19,7 @@ + diff --git a/src/Avalonia.Themes.Default/PopupHost.xaml b/src/Avalonia.Themes.Default/PopupHost.xaml new file mode 100644 index 0000000000..21d99e5305 --- /dev/null +++ b/src/Avalonia.Themes.Default/PopupHost.xaml @@ -0,0 +1,12 @@ +