ScreenToGif/Controls/FrameworkElementAdorner.cs

(开头部分) 8KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System.Collections;
using System.Windows;
using System.Windows.Documents;
using System.Windows.Media;
using ScreenToGif.Util;

namespace ScreenToGif.Controls
{
    /// <summary>
    /// This class is an adorner that allows a FrameworkElement derived class to adorn another FrameworkElement. From 
    /// </summary>
    public class FrameworkElementAdorner : Adorner
    {
        #region Variables and Properties

        /// <summary>
        /// The framework element that is the adorner. 
        /// </summary>
        private readonly FrameworkElement _child;

        /// <summary>
        /// Placement of the child.
        /// </summary>
        private readonly AdornerPlacement _horizontalAdornerPlacement = AdornerPlacement.Inside;
        private readonly AdornerPlacement _verticalAdornerPlacement = AdornerPlacement.Inside;

        /// <summary>
        /// Offset of the child.
        /// </summary>
        private readonly double _offsetX = 0.0;
        private readonly double _offsetY = 0.0;

        /// <summary>
        /// Position of the child (when not set to NaN).
        /// </summary>
        public double PositionX { get; set; } = double.NaN;

        public double PositionY { get; set; } = double.NaN;

        #endregion

        public FrameworkElementAdorner(FrameworkElement adornerChildElement, FrameworkElement adornedElement)
            : base(adornedElement)
        {
            _child = adornerChildElement;

            AddLogicalChild(adornerChildElement);
            AddVisualChild(adornerChildElement);
        }

        public FrameworkElementAdorner(FrameworkElement adornerChildElement, FrameworkElement adornedElement, AdornerPlacement horizontalAdornerPlacement, AdornerPlacement verticalAdornerPlacement, double offsetX, double offsetY)
            : base(adornedElement)
        {
            _child = adornerChildElement;
            _horizontalAdornerPlacement = horizontalAdornerPlacement;
            _verticalAdornerPlacement = verticalAdornerPlacement;
            _offsetX = offsetX;
            _offsetY = offsetY;

            adornedElement.SizeChanged += AdornedElement_SizeChanged;
后面还有 213 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。