csharpc-sharpdotnetxamlavaloniauicross-platformcross-platform-xamlavaloniaguimulti-platformuser-interfacedotnetcore
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.1 KiB
59 lines
2.1 KiB
// 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 System;
|
|
using Avalonia.Collections;
|
|
|
|
namespace Avalonia.LogicalTree
|
|
{
|
|
/// <summary>
|
|
/// Represents a node in the logical tree.
|
|
/// </summary>
|
|
public interface ILogical
|
|
{
|
|
/// <summary>
|
|
/// Raised when the control is attached to a rooted logical tree.
|
|
/// </summary>
|
|
event EventHandler<LogicalTreeAttachmentEventArgs> AttachedToLogicalTree;
|
|
|
|
/// <summary>
|
|
/// Raised when the control is detached from a rooted logical tree.
|
|
/// </summary>
|
|
event EventHandler<LogicalTreeAttachmentEventArgs> DetachedFromLogicalTree;
|
|
|
|
/// <summary>
|
|
/// Gets a value indicating whether the element is attached to a rooted logical tree.
|
|
/// </summary>
|
|
bool IsAttachedToLogicalTree { get; }
|
|
|
|
/// <summary>
|
|
/// Gets the logical parent.
|
|
/// </summary>
|
|
ILogical LogicalParent { get; }
|
|
|
|
/// <summary>
|
|
/// Gets the logical children.
|
|
/// </summary>
|
|
IAvaloniaReadOnlyList<ILogical> LogicalChildren { get; }
|
|
|
|
/// <summary>
|
|
/// Notifies the control that it is being attached to a rooted logical tree.
|
|
/// </summary>
|
|
/// <param name="e">The event args.</param>
|
|
/// <remarks>
|
|
/// This method will be called automatically by the framework, you should not need to call
|
|
/// this method yourself.
|
|
/// </remarks>
|
|
void NotifyAttachedToLogicalTree(LogicalTreeAttachmentEventArgs e);
|
|
|
|
/// <summary>
|
|
/// Notifies the control that it is being detached from a rooted logical tree.
|
|
/// </summary>
|
|
/// <param name="e">The event args.</param>
|
|
/// <remarks>
|
|
/// This method will be called automatically by the framework, you should not need to call
|
|
/// this method yourself.
|
|
/// </remarks>
|
|
void NotifyDetachedFromLogicalTree(LogicalTreeAttachmentEventArgs e);
|
|
}
|
|
}
|
|
|