packages/MaterialDesignThemes.2.5.1/src/net45/Transitions/TransitioningContent.cs

(完整代码) 1KB

using System;
using System.Windows;

namespace MaterialDesignThemes.Wpf.Transitions
{
    [Flags]
    public enum TransitioningContentRunHint
    {
        Loaded = 1,
        IsVisibleChanged = 2,
        All = Loaded | IsVisibleChanged
    }


    /// <summary>
    /// Content control to enable easier transitions.
    /// </summary>
    public class TransitioningContent : TransitioningContentBase
    {
        static TransitioningContent()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(TransitioningContent), new FrameworkPropertyMetadata(typeof(TransitioningContent)));
        }

        public TransitioningContent()
        {
            Loaded += (sender, args) => Run(TransitioningContentRunHint.Loaded);
            IsVisibleChanged += (sender, args) => Run(TransitioningContentRunHint.IsVisibleChanged);
            
        }

        public static readonly DependencyProperty RunHintProperty = DependencyProperty.Register(
            nameof(RunHint), typeof(TransitioningContentRunHint), typeof(TransitioningContent), new PropertyMetadata(TransitioningContentRunHint.All));

        public TransitioningContentRunHint RunHint
        {
            get => (TransitioningContentRunHint)GetValue(RunHintProperty);
            set => SetValue(RunHintProperty, value);
        }

        private void Run(TransitioningContentRunHint requiredHint)
        {
            if ((RunHint & requiredHint) == requiredHint)
                RunOpeningEffects();
        }
    }
}

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

AI 解读 AI

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

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