From 81065f1d24870d81b228af8459a47a7093d282c2 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Thu, 18 Feb 2016 23:21:05 +0100 Subject: [PATCH] Added logical tree attachment events to ILogical. --- src/Markup/Perspex.Markup/ControlLocator.cs | 1 + src/Perspex.Controls/DropDown.cs | 1 + src/Perspex.Controls/Perspex.Controls.csproj | 1 - src/Perspex.Controls/TextBlock.cs | 1 + src/Perspex.Styling/LogicalTree/ILogical.cs | 11 +++++++++++ .../LogicalTree}/LogicalTreeAttachmentEventArgs.cs | 6 +++--- src/Perspex.Styling/Perspex.Styling.csproj | 1 + 7 files changed, 18 insertions(+), 4 deletions(-) rename src/{Perspex.Controls => Perspex.Styling/LogicalTree}/LogicalTreeAttachmentEventArgs.cs (82%) diff --git a/src/Markup/Perspex.Markup/ControlLocator.cs b/src/Markup/Perspex.Markup/ControlLocator.cs index 730c4d24f9..b6080ae059 100644 --- a/src/Markup/Perspex.Markup/ControlLocator.cs +++ b/src/Markup/Perspex.Markup/ControlLocator.cs @@ -5,6 +5,7 @@ using System; using System.Linq; using System.Reactive.Linq; using Perspex.Controls; +using Perspex.LogicalTree; namespace Perspex.Markup { diff --git a/src/Perspex.Controls/DropDown.cs b/src/Perspex.Controls/DropDown.cs index 7f8c1789ee..b9211caddd 100644 --- a/src/Perspex.Controls/DropDown.cs +++ b/src/Perspex.Controls/DropDown.cs @@ -7,6 +7,7 @@ using Perspex.Controls.Primitives; using Perspex.Controls.Shapes; using Perspex.Input; using Perspex.Layout; +using Perspex.LogicalTree; using Perspex.Media; using Perspex.VisualTree; diff --git a/src/Perspex.Controls/Perspex.Controls.csproj b/src/Perspex.Controls/Perspex.Controls.csproj index 58aee7f2a5..07cd25039b 100644 --- a/src/Perspex.Controls/Perspex.Controls.csproj +++ b/src/Perspex.Controls/Perspex.Controls.csproj @@ -164,7 +164,6 @@ - diff --git a/src/Perspex.Controls/TextBlock.cs b/src/Perspex.Controls/TextBlock.cs index 29a760b11f..cf9ce6b919 100644 --- a/src/Perspex.Controls/TextBlock.cs +++ b/src/Perspex.Controls/TextBlock.cs @@ -5,6 +5,7 @@ using System; using System.Reactive; using System.Reactive.Linq; using Perspex.Data; +using Perspex.LogicalTree; using Perspex.Media; using Perspex.Metadata; diff --git a/src/Perspex.Styling/LogicalTree/ILogical.cs b/src/Perspex.Styling/LogicalTree/ILogical.cs index 2d3faa2020..5eb4b42abf 100644 --- a/src/Perspex.Styling/LogicalTree/ILogical.cs +++ b/src/Perspex.Styling/LogicalTree/ILogical.cs @@ -1,6 +1,7 @@ // Copyright (c) The Perspex Project. All rights reserved. // Licensed under the MIT license. See licence.md file in the project root for full license information. +using System; using Perspex.Collections; namespace Perspex.LogicalTree @@ -10,6 +11,16 @@ namespace Perspex.LogicalTree /// public interface ILogical { + /// + /// Raised when the control is attached to a rooted logical tree. + /// + event EventHandler AttachedToLogicalTree; + + /// + /// Raised when the control is detached from a rooted logical tree. + /// + event EventHandler DetachedFromLogicalTree; + /// /// Gets a value indicating whether the element is attached to a rooted logical tree. /// diff --git a/src/Perspex.Controls/LogicalTreeAttachmentEventArgs.cs b/src/Perspex.Styling/LogicalTree/LogicalTreeAttachmentEventArgs.cs similarity index 82% rename from src/Perspex.Controls/LogicalTreeAttachmentEventArgs.cs rename to src/Perspex.Styling/LogicalTree/LogicalTreeAttachmentEventArgs.cs index 024942cf71..0ccfad830e 100644 --- a/src/Perspex.Controls/LogicalTreeAttachmentEventArgs.cs +++ b/src/Perspex.Styling/LogicalTree/LogicalTreeAttachmentEventArgs.cs @@ -4,11 +4,11 @@ using System; using Perspex.Styling; -namespace Perspex.Controls +namespace Perspex.LogicalTree { /// - /// Holds the event arguments for the and - /// events. + /// Holds the event arguments for the and + /// events. /// public class LogicalTreeAttachmentEventArgs : EventArgs { diff --git a/src/Perspex.Styling/Perspex.Styling.csproj b/src/Perspex.Styling/Perspex.Styling.csproj index 39ed053d7b..2219312704 100644 --- a/src/Perspex.Styling/Perspex.Styling.csproj +++ b/src/Perspex.Styling/Perspex.Styling.csproj @@ -45,6 +45,7 @@ +