public SwipeDismissPanel()

in SamplesCommon/SamplesCommon/SwipeDismissPanel.cs [43:82]


        public SwipeDismissPanel()
        {
            m_rootVisual = ElementCompositionPreview.GetElementVisual(this);
            m_compositor = m_rootVisual.Compositor;

            CompletedOffset = 2000;
            CompletionThreshold = 400;


            m_interactionSource = VisualInteractionSource.Create(m_rootVisual);
            m_interactionSource.PositionXSourceMode = InteractionSourceMode.EnabledWithInertia;

            var snapHomeEndpoint = InteractionTrackerInertiaRestingValue.Create(m_compositor);
            snapHomeEndpoint.Condition = m_compositor.CreateExpressionAnimation("true");
            snapHomeEndpoint.RestingValue = m_compositor.CreateExpressionAnimation("0");

            var snapNearConditionExpression = m_compositor.CreateExpressionAnimation(
                "target.Position.X < -target.CompletionThreshold");
            var snapNearValueExpression = m_compositor.CreateExpressionAnimation("-target.CompletedOffset");

            var snapNearEndpoint = InteractionTrackerInertiaRestingValue.Create(m_compositor);
            snapNearEndpoint.Condition = snapNearConditionExpression;
            snapNearEndpoint.RestingValue = snapNearValueExpression;

            var snapFarConditionExpression = m_compositor.CreateExpressionAnimation(
                "target.Position.X > target.CompletionThreshold");
            var snapFarValueExpression = m_compositor.CreateExpressionAnimation("target.CompletedOffset");

            var snapFarEndpoint = InteractionTrackerInertiaRestingValue.Create(m_compositor);
            snapFarEndpoint.Condition = snapFarConditionExpression;
            snapFarEndpoint.RestingValue = snapFarValueExpression;

            m_inertiaModifiers = new InteractionTrackerInertiaModifier[] {
                snapNearEndpoint,
                snapFarEndpoint,
                snapHomeEndpoint };

            this.Loading += OnLoading;
            this.Unloaded += OnUnloaded;
        }