Поделиться через


InteractionTrackerInertiaRestingValue Класс

Определение

Объект ExpressionAnimation, определяющий позицию остатка после взаимодействия.

Класс InteractionTrackerInertiaRestingValue определяет два объекта ExpressionAnimation, которые вычисляют явное положение отдыха для InteractionTracker при выполнении определенного условия. InteractionTrackerInertiaRestingValue определяется как две части: условный оператор, в котором необходимо явно определить конкретное расположение отдыха InteractionTracker , если значение равно true, и уравнение, описывающее математическую связь, которая выводит расположение. Используйте класс InteractionTrackerInertiaRestingValue, если необходимо убедиться, что InteractionTracker попадает в определенное расположение после взаимодействия.

public ref class InteractionTrackerInertiaRestingValue sealed : InteractionTrackerInertiaModifier
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InteractionTrackerInertiaRestingValue final : InteractionTrackerInertiaModifier
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InteractionTrackerInertiaRestingValue : InteractionTrackerInertiaModifier
Public NotInheritable Class InteractionTrackerInertiaRestingValue
Inherits InteractionTrackerInertiaModifier
Наследование
Object Platform::Object IInspectable CompositionObject InteractionTrackerInertiaModifier InteractionTrackerInertiaRestingValue
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 Anniversary Edition (появилось в 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v3.0)

Примеры

void MandatorySingleSnapPoints(ContainerVisual containerVisual, Visual contentVisual)
{
  //
  // Set up our inertia modifiers to behave as dmanip's "single mandatory" snap-points, at a
  // regular interval of 50px.
  //

  const float snapPointRange = 50.0f;

  //
  // Configure a "snap-point" to handle upward direction (to previous item).
  //

  var modifier1 = InteractionTrackerInertiaRestingValue.Create(_compositor);

  // Add a condition for when this upward “snap-point” applies.
  modifier1.Condition = _compositor.CreateExpressionAnimation(
    "this.Target.NaturalRestingPosition.y < " + 
    "(this.StartingValue - mod(this.StartingValue, snapPointRange) + snapPointRange / 2)");

  modifier1.Condition.SetScalarParameter("snapPointRange", snapPointRange);

  // Configure the resting spot when the condition is met 
  modifier1.EndPoint = _compositor.CreateExpressionAnimation(
    "this.StartingValue - mod(this.StartingValue, snapPointRange)");

  modifier1.EndPoint.SetScalarParameter("snapPointRange", snapPointRange);

  //
  // Configure a "snap-point" to handle downward direction (to next item).
  //

  var modifier2 = InteractionTrackerInertiaRestingValue.Create(_compositor);

  // Add a condition for when this downward “snap-point” applies.
  modifier2.Condition = _compositor.CreateExpressionAnimation(
    "this.Target.NaturalRestingPosition.y >= " + 
    "(this.StartingValue - mod(this.StartingValue, snapPointRange) + snapPointRange / 2)");

  modifier2.Condition.SetScalarParameter("snapPointRange", snapPointRange);

  // Configure the resting spot when the condition is met.
  modifier2.EndPoint = _compositor.CreateExpressionAnimation(
    "this.StartingValue + snapPointRange - mod(this.StartingValue, snapPointRange)");

  modifier2.EndPoint.SetScalarParameter("snapPointRange", snapPointRange);

  var modifiers = new InteractionTrackerInertiaRestingValue[] { modifier1, modifier2 };

  //
  // Add our "snap-point" inertia modifiers to the Y position of the InteractionTracker.
  //

  _tracker.ConfigurePositionYInertiaModifiers(modifiers);
}

Комментарии

При присоединении модификатора InteractionTrackerInertiaRestingValue к InteractionTracker вы настраиваете его на положение X/Y или Scale.

Объект ExpressionAnimation, определяющий свойство условия, выполняется только один раз, когда взаимодействие завершается (отпустит палец), а выражение RestingValue выполняется каждый кадр.

Модификаторы InteractionTrackerInertiaRestingValue явно определяют позицию отдыха InteractionTracker при выполнении условия. Однако он не определяет движение в это явное расположение — система будет обрабатывать это. Таким образом, если требуется, чтобы InteractionTracker совершил определенное движение, но не требуется, чтобы он приземлился в точном месте, используйте модификатор InteractionTrackerInertiaMotion .

Свойства

Comment

Строка, связанная с CompositionObject.

(Унаследовано от CompositionObject)
Compositor

Compositor, используемый для создания объекта CompositionObject.

(Унаследовано от CompositionObject)
Condition

ExpressionAnimation, описывающий, когда следует применить модификатор.

Свойство Condition — это expressionAnimation , которое определяет, когда InteractionTracker должен иметь определенную позицию отдыха. Это выражение выполняется один раз после взаимодействия и должно разрешаться в тип Bool, в противном случае при вычислении условия возникнет ошибка. Дополнительные сведения о создании выражений см. на странице класса ExpressionAnimation .

Dispatcher

Диспетчер для CompositionObject.

(Унаследовано от CompositionObject)
DispatcherQueue

Возвращает dispatcherQueue для Объекта CompostionObject.

(Унаследовано от CompositionObject)
ImplicitAnimations

Коллекция неявных анимаций, присоединенных к этому объекту.

(Унаследовано от CompositionObject)
Properties

Коллекция свойств, связанных с CompositionObject.

(Унаследовано от CompositionObject)
RestingValue

Объект ExpressionAnimation для определения остающегося значения InteractionTracker, если выражение в свойстве Condition имеет значение true.

Свойство Resting — это ExpressionAnimation , описывающее, куда будет перемещаться InteractionTracker после взаимодействия при выполнении соответствующего условия. Это выражение будет выполняться каждый кадр, когда InteractionTracker находится в инерции и должен разрешаться в тип Float, в противном случае при вычислении уравнения будет возникать ошибка. Дополнительные сведения о создании выражений см. на странице класса ExpressionAnimation .

Методы

Close()

Закрывает CompositionObject и освобождает системные ресурсы.

(Унаследовано от CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Подключается и анимация.

(Унаследовано от CompositionObject)
Create(Compositor)

Создает экземпляр InteractionTrackerInertiaRestingValue.

DisconnectAnimation(String)

Отключает анимацию.

(Унаследовано от CompositionObject)
Dispose()

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.

(Унаследовано от CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Определяет свойство, которое можно анимировать.

(Унаследовано от CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Соединяет анимацию с указанным свойством объекта и запускает анимацию.

(Унаследовано от CompositionObject)
StartAnimation(String, CompositionAnimation)

Соединяет анимацию с указанным свойством объекта и запускает анимацию.

(Унаследовано от CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Запускает группу анимации.

Метод StartAnimationGroup в CompositionObject позволяет запустить CompositionAnimationGroup. Все анимации в группе будут запущены одновременно с объектом .

(Унаследовано от CompositionObject)
StopAnimation(String)

Отключает анимацию от указанного свойства и останавливает анимацию.

(Унаследовано от CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Останавливает группу анимации.

(Унаследовано от CompositionObject)
TryGetAnimationController(String)

Возвращает AnimationController для анимации, выполняемой в указанном свойстве.

(Унаследовано от CompositionObject)

Применяется к

См. также раздел