in SamplesCommon/SamplesCommon/SwipeDismissPanel.cs [156:184]
private void OnSizeChanged(object sender, Microsoft.UI.Xaml.SizeChangedEventArgs e)
{
Vector2 size = new System.Numerics.Vector2((float)this.ActualWidth, (float)this.ActualHeight);
if (m_interactionTracker != null)
{
m_interactionTracker.MinPosition = new Vector3(-size.X, 0, 0);
m_interactionTracker.MaxPosition = new Vector3(size.X, 0, 0);
if (Content != null)
{
var positionExpression = m_compositor.CreateExpressionAnimation("-tracker.Position");
positionExpression.SetReferenceParameter("tracker", m_interactionTracker);
m_contentVisual = ElementCompositionPreview.GetElementVisual(Content);
m_contentVisual.StartAnimation("Offset", positionExpression);
m_contentVisual.Size = size;
if (m_setUpExpressions && m_progressAnimation == null)
{
m_progressAnimation = m_compositor.CreateExpressionAnimation(
"clamp(visual.Offset.X / visual.Size.X, -1, 1)");
m_progressAnimation.SetReferenceParameter("visual", m_contentVisual);
m_rootVisual.Properties.StartAnimation("NormalizedProgress", m_progressAnimation);
}
}
}
}