Share via


CompositionAnimation.SetExpressionReferenceParameter Method

Definition

Sets an object that implements IAnimationObject as a reference parameter in an ExpressionAnimation.

public:
 virtual void SetExpressionReferenceParameter(Platform::String ^ parameterName, IAnimationObject ^ source) = SetExpressionReferenceParameter;
void SetExpressionReferenceParameter(winrt::hstring const& parameterName, IAnimationObject const& source);
public void SetExpressionReferenceParameter(string parameterName, IAnimationObject source);
function setExpressionReferenceParameter(parameterName, source)
Public Sub SetExpressionReferenceParameter (parameterName As String, source As IAnimationObject)

Parameters

parameterName
String

Platform::String

winrt::hstring

The name of the parameter to set.

source
IAnimationObject

The source object.

Windows requirements

Device family
Windows 10, version 1809 (introduced in 10.0.17763.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v7.0)

Examples

// CustomObject that implements IAnimationObject.
class CustomObject : IAnimationObject
{
    public CustomObject(Compositor compositor)
    {
        _targetVisual = compositor.CreateSpriteVisual();
    }

    // Implement PopulatePropertyInfo method that 
    // redirects the property named "CustomOffset"
    // to the Offset property of the underlying visual.
    void IAnimationObject.PopulatePropertyInfo(
        string propertyName,
        AnimationPropertyInfo propertyInfo)
    {
        if (propertyName.Equals(“CustomOffset”)
        {
            _targetVisual.PopulatePropertyInfo(
                “Offset”,
                propertyInfo);           
        }
    }

    private SpriteVisual _targetVisual = null;
}

// Sample usage of CustomObject in an ExpressionAnimation.
void SetupExpression(
    Compositor compositor, 
    IAnimationObject customObject,
    SpriteVisual target)
{
    var expAnim = compositor.CreateExpressionAnimation(
        “customObject.CustomOffset + vector3(100.0f, 0.0f, 0.0f)”);

    expAnim.SetExpressionReferenceParameter(“customObject”, customObject);

    targetVisual.StartAnimation(“Offset”, expAnim);        
}

Applies to