Язык

InteractionTracker Класс

Определение

Обрабатывает логику входных данных, которые можно использовать в качестве целевых объектов в ExpressionAnimations, как правило, для перемещения визуальных элементов на основе входных данных.

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

Примеры

void SetupSimpleInteractionTracker(Visual viewportVisual, Visual contentVisual)
{
  //
  // Create the InteractionTracker and set its min/max position and scale.  These could 
  // also be bound to expressions.  Note: The scrollable area can be changed from either 
  // the min or the max position to facilitate content updates/virtualization.
  //

  _tracker = InteractionTracker.Create(_compositor);

  _tracker.MaxPosition = new Vector3(
    contentVisual.Size.X - viewportVisual.Size.X,
    contentVisual.Size.Y - viewportVisual.Size.Y,
    0.0f);

  _tracker.MinScale = 0.5f;
  _tracker.MaxScale = 4.0f;


  //
  // Configure the interaction source.  Enable input with inertia on all axes.
  //

  var interactionSource = VisualInteractionSource.Create(viewportVisual);

  interactionSource.PositionXSourceMode = InteractionSourceMode.EnabledWithInertia;
  interactionSource.PositionYSourceMode = InteractionSourceMode.EnabledWithInertia;
  interactionSource.ScaleSourceMode = InteractionSourceMode.EnabledWithInertia;

  _tracker.InteractionSources.Add(interactionSource);


  //
  // Bind the InteractionTracker outputs to the contentVisual.
  //

  var positionExpression = _compositor.CreateExpressionAnimation("-tracker.Position");
  positionExpression.SetReferenceParameter("tracker", _tracker);

  contentVisual.StartAnimation("Offset", positionExpression);


  var scaleExpression = _compositor.CreateExpressionAnimation("Vector3(tracker.Scale, tracker.Scale, 1.0)");

  scaleExpression.SetReferenceParameter("tracker", _tracker);

  contentVisual.StartAnimation("Scale", scaleExpression);
}

Комментарии

InteractionTracker — это компьютер состояния, который может управляться активными входными данными или явными вызовами для обновления или анимации его свойств. Класс InteractionTracker предназначен для включения входных данных для диска CompositionAnimations для пользовательского взаимодействия. Чтобы создать интерактивные интерфейсы, необходимо связать один или несколько элементов VisualInteractionSourceс InteractionTracker.

Распространенные сценарии

IneractionTracker предназначен для использования:

  • Добавление пользовательского поведения прокрутки, например прокрутка элементов ListView или других визуальных элементов для удаления и закрытия
  • Переходы, связанные с сдвигом, например прокрутка для перехода между "закрытыми" и "открытыми" состояниями
  • Анимация на основе входных данных эффекта, например сдвиг, приводит к размытию экрана
  • Пользовательские элементы управления, например создание пользовательской реализации ScrollViewer с разными скоростями сдвига или возможностью управления программным способом

Состояния и переходы InteractionTracker

InteractionTracker — это компьютер состояния с четырьмя состояниями:

  • Бездействия: нет активных входных данных или анимаций, приводящих к взаимодействиюTracker
  • Взаимодействие. Активные входные данные пользователей ведут к взаимодействиюTracker
  • Инерция: активные анимации, которые являются результатом активного ввода или программной скорости, приводят к взаимодействиюTracker
  • CustomAnimation: свойство InteractionTracker непосредственно анимировано На схеме ниже показаны четыре состояния и допустимые переходы состояний.

Изображение, показывающее состояния InteractionTracker: простой, инерция, взаимодействие и настраиваемая анимация.

Переходы состояния могут произойти из-за действий пользователей (таких как запуск или остановка манипуляции) или из-за явных вызовов методов в InteractionTracker. При любом выполнении одного из этих явных вызовов идентификатор запроса выдается для отслеживания того, игнорируется ли запрос или вызывает изменение состояния.

Важно отметить, что InteractionTracker выполняется в другом процессе, отличном от используемого приложения. Таким образом, все вызовы методов в InteractionTracker и связанных классах являются асинхронными, как и обратные вызовы, выданные через интерфейс IInteractionTrackerOwner.

Ниже описано, что активирует каждое изменение состояния.

Начало состояния Конечное состояние Возможные триггеры
Бездействие Взаимодействие Этот переход состояния происходит только при выполнении пользовательской манипуляции, которая соответствует VisualInteractionSource, связанной с Элементом InteractionTracker.
Бездействие Инерции Этот переход состояния происходит только в том случае, если Элемент InteractionTracker находится в состоянии простоя и вызывается TryUpdatePositionWithVelocity или TryUpdateScaleWithVelocity.
Бездействие CustomAnimation Этот переход состояния происходит, когда InteractionTracker находится в состоянии простоя и вызывается TryUpdatePositionWithAnimation или TryUpdateScaleWithAnimation.
Взаимодействие Инерции Этот переход состояния происходит только при завершении манипуляции с пользователем, отправленной в InteractionTracker. Когда активный вход заканчивается, InteractionTracker войдет в состояние инерции, а сведения, такие как скорость выпуска пальца, и инерционная скорость будет определять поведение во время состояния инерции.
Инерции Бездействие Этот переход состояния происходит, когда функции, используемые для обновления позиции и /или масштабирования, больше не приводят к изменению. Другими словами, скорость положения и масштабирования оба достигли нуля. Этот переход состояния также может произойти, если вызов выполняется для явного обновления позиции или масштабирования без анимации или скорости. Эти вызовы завершатся инерцией и переходом на простой с обновленными значениями свойств.
Инерции Инерции Этот переход состояния происходит при вызове TryUpdatePositionWithVelocity или TryUpdateScaleWithVelocity, когда уже в состоянии инерции. Повторное ввод инерции приведет к повторному вычислению всех свойств ИнерцииStateEntered.
Инерции CustomAnimation Этот переход состояния происходит при вызове TryUpdatePositionWithAnimation или TryUpdateScaleWithAnimation выполняется в то время как в сате инерции.
Инерции Взаимодействие Этот переход состояния происходит, когда активные входные данные пользователя, выполняющего тесты попадания в VisualInteractionSource, происходят до завершения инерции.
CustomAnimation Бездействие Этот переход состояния происходит, когда все анимации, заданные в позиции и свойствах масштабирования InteractionTracker, завершены.
CustomAnimation CustomAnimation Этот переход состояния происходит, когда выполняется вызов TryUpdatePositionWithAnimation или TryUpdateScaleWithAnimation, который уже находится в состоянии CustomAnimation.
CustomAnimation Инерции Этот переход состояния происходит при вызове TryUpdatePositionWithVelocity или TryUpdateScaleWithVelocity, когда выполняется в состоянии CustomAnimation.
CustomAnimation Взаимодействие Этот переход состояния происходит при выполнении пользовательской манипуляции, которая выполняется в VisualInteractionSource, связанной с InteractionTracker.

Любой переход состояния, сделанный в InteractionTracker, будет вызывать обратный вызов, указывающий новое состояние с args, которые включают сведения, относящиеся к этому состоянию, а также requestID для запроса, вызвавшего изменение состояния. Активные манипуляции с пользователем приведут к запросу 0. Любой вызов Try* выдает идентификатор запроса, который можно использовать для отслеживания вызова Try*, вызвавшего изменение состояния. Первый идентификатор запроса в течение времени существования приложения будет 1, и каждый последующий вызов добавит идентификатор запроса, что означает, что каждый из них будет уникальным.

Положение и масштабирование InteractionTracker

Двумя наиболее часто используемыми свойствами InteractionTracker являются положение и масштабирование. При изменении одного или обоих этих свойств обратный вызов ValuesChanged будет отправлен с информацией о текущих значениях. Из-за асинхронной природы InteractionTracker значения, полученные через обратные вызовы InteractionTracker, являются лучшим способом обновления логики приложения в текущем состоянии и значениях InteractionTracker и его свойств.

Важное различие о взаимодействииTracker заключается в том, что его положение и масштаб не связаны с координатным пространством какого-либо конкретного визуального элемента. Во время создания InteractionTracker его положение будет иметь подканели x, y и z вектора, равные 0, и масштаб будет иметь значение 1. Только активные входные данные или вызовы Try* могут привести к изменению этих значений. Минимальные и максимальные значения для каждого свойства определяют диапазон, в котором могут колебаться значения. Одним из исключений является понятие "overpan" или "overzoom", где активная манипуляция может привести к тому, что значения будут немного превышать минимальное или максимальное значение во время взаимодействия. Однако, когда манипуляция завершится, значения всегда будут остаться в пределах заданного диапазона. Пользовательские анимации всегда будут зажаты в диапазонах, заданных для положения и масштабирования.

Концепция пространства координат InteractionTracker соответствует концепции координат экрана в том, что движение вверх/влево увеличивает значение позиции, а движение вниз или вправо уменьшает значение позиции. В результате при присоединении свойства позиции к смещениям визуального элемента очень распространено.

По умолчанию минимальные и максимальные каналы позиции — 0, а минимальные и максимальные значения масштабирования — 1. Если необходимое поведение для любого свойства позволить ему изменяться вне этих начальных значений, необходимо обновить минимальное или максимальное значение.

InteractionTracker и ExpressionAnimations

InteractionTracker предоставляет различные свойства, которые можно использовать в контексте ExpressionAnimations для обновления обновлений для анимируемых свойств CompositionObject . Из-за асинхронной природы InteractionTracker не рекомендуется запрашивать эти свойства напрямую. Вместо этого следует использовать свойства, предоставляемые в обратных вызовах для логики приложения, и ссылаться на значения в ExpressionAnimation для обновления анимируемых свойств.

Как упоминалось выше, два наиболее часто используемых свойства InteractionTracker — это свойства Position и Scale. Это свойства, которые будут обновляться в ответ на входные данные пользователя и вызовы Try*. Использование этих свойств внутри ExpressionAnimations приведет к тому, что анимируемые свойства CompositionObjects будут обновляться в ответе. Например, свойство InteractionTracker.position может быть привязано к смещению визуального элемента. Эти свойства также часто используются для заполнения CompositionPropertySet, который отслеживает ход выполнения, который, в свою очередь, может управлять рядом скоординированных анимаций.

Направление входных данных в InteractionTracker

После настройки InteractionTracker по-прежнему требуется один последний шаг для получения сенсорного ввода и реагирования. См. документацию по VisualInteractionSource. TryRedirectForManipulation для получения дополнительных сведений о настройке входящих входных данных для потока в InteractionTracker.

Свойства

Имя Описание
Comment

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

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

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

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

Возвращает диспетчерку для CompositionObject.

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

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

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

Коллекция объектов, создающих взаимодействия.

IsInertiaFromImpulse

Возвращает значение, указывающее, является ли инерция результатом импульса.

IsPositionRoundingSuggested

Логическое значение, указывающее, предлагается ли округление позиций в настоящее время.

MaxPosition

Максимально допустимое положение для InteractionTracker.

MaxScale

Максимальный масштаб для InteractionTracker.

MinPosition

Минимальное положение, допустимое для элемента InteractionTracker.

MinScale

Минимальный масштаб для InteractionTracker.

NaturalRestingPosition

Естественное положение отдыха для InteractionTracker.

Свойство NaturalRestingPosition — это вычисляемая позиция, с помощью которую InteractionTracker будет остановлена без учета границ или модификаторов инерции. Это свойство часто полезно для таких действий, как виртуализация в режиме прокрутки, где важно знать расположение, в котором Будет остановлено ВзаимодействиеTracker . Существует два основных варианта использования для использования свойства NaturalRestingPosition: получение текущего значения в событии InertiaStateEntered или ссылка на это свойство в ExpressionAnimation при создании таких объектов, как модификаторы инерции.

NaturalRestingScale

Естественный масштаб отдыха для InteractionTracker.

Свойство NaturalRestingScale — это вычисляемая позиция масштабирования, на которую будет приходить InteractionTracker без учета границ или модификаторов инерции. Это свойство часто полезно для таких действий, как виртуализация в режиме прокрутки, где важно знать расположение, в котором Будет остановлено ВзаимодействиеTracker . Существует два основных варианта использования свойства NaturalRestingScale: получение текущего значения в событии InertiaStateEntered или ссылка на это свойство в ExpressionAnimation при создании модификаторов инерции.

Owner

IInteractionTrackerOwner, связанный с InteractionTracker.

Position

Выходная позиция, вычисляемая элементом InteractionTracker. Текущая позиция является относительным значением. Во время состояния простоя и CustomAnimation всегда будет находиться между значениями, указанными в свойствах MinPosition и MaxPosition. Свойство позиции InteractionTracker может выйти за пределы этого диапазона во время состояний взаимодействия и инерции, чтобы показать отскоки или сопротивление на границе.

Свойство позиции Объекта InteractionTracker — это вектор3, представляющий позицию в оси X, Y и Z. Каналы X и Y — это единственные компоненты, которые будут обновлены с помощью InteractionTracker на этом этапе. Каналы этого Vector3 не изменятся за пределами 0 (значение по умолчанию), если minPosition и MaxPosition не заданы.

PositionInertiaDecayRate

Скорость распада инерции для позиции. Диапазон от 0 до 1.

Свойство PositionInertiaDecayRate определяет скорость, с которой InteractionTracker замедлится до остановки, когда он вступил в инерцию и положение меняется. Чем ближе к 1, тем быстрее InteractionTracker замедлится до остановки и наоборот. Определяется как Vector3, каждый компонент представляет частоту распада инерции для x, y, z соответственно.

PositionVelocityInPixelsPerSecond

Скорость, применяемая в настоящее время к позиции.

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

Properties

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

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

Масштаб выходных данных, вычисляемый элементом InteractionTracker. Текущий масштаб является относительным значением, которое зависит от значений, указанных в свойствах MinScale и MaxScale .

Свойство scale объекта InteractionTracker — это плавающая строка, представляющая масштаб в пространстве координат InteractionTracker . Это значение начинается с 1 и увеличивает или уменьшается на основе активных входных или прямых вызовов для обновления или анимации свойства. Свойство масштабирования, когда Элемент InteractionTracker находится в состояниях простоя или CustomAnimation, не изменится с 1, если только свойства MinScale и MaxScale, которые по умолчанию по умолчанию имеют значение 1, обновляются. InteractionTracker Масштаб может немного выйти за пределы этого диапазона во время состояний взаимодействия и инерции, чтобы показать отскоки или сопротивление на границе.

ScaleInertiaDecayRate

Скорость распада инерции для масштабирования. Диапазон от 0 до 1.

Свойство ScaleInertiaDecayRate определяет скорость, с которой InteractionTracker замедлится до остановки при изменении инерции и масштабирования. Чем ближе к 1, тем быстрее InteractionTracker замедлится до остановки и наоборот. В отличие от PositionInertiaDecayRate , который определяется как Vector3, ScaleInertiaDecayRate определяется как одно плавающее.

ScaleVelocityInPercentPerSecond

Частота изменений для масштабирования.

Свойство ScaleVelocityInPercentPersecond представляет текущую скорость масштабирования InteractionTracker во время инерции. Захват скорости позиции InteractionTracker сразу после того, как взаимодействие произошло или ссылается на самую текущую скорость InteractionTracker в ExpressionAnimation.

Методы

Имя Описание
AdjustPositionXIfGreaterThanThreshold(Single, Single)

Корректирует координату x позиции x, если она больше указанного порогового значения.

AdjustPositionYIfGreaterThanThreshold(Single, Single)

Корректирует координату позиции y, если она больше указанного порогового значения.

Close()

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

(Унаследовано от CompositionObject)
ConfigureCenterPointXInertiaModifiers(IIterable<CompositionConditionalValue>)

Принимает упорядоченный список CompositionConditionalValue. В кадре, в то время как трекер находится в инерции, первый CompositionConditionalValue должен иметь его ". Условие", равное true, заменяет значение zoom CenterPointX, которое средство отслеживания использует с его ". Значение". Если значение равно true, центрPointX не заменяет этот кадр.

ConfigureCenterPointYInertiaModifiers(IIterable<CompositionConditionalValue>)

Принимает упорядоченный список CompositionConditionalValue. В кадре, в то время как трекер находится в инерции, первый CompositionConditionalValue должен иметь его ". Условие", вычисляющее значение true, заменяет значение zoom CenterPointY, которое средство отслеживания использует с его ". Значение". Если значение равно true, центрPointY не заменяет этот кадр.

ConfigurePositionXInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

Применяет коллекцию объектов InteractionTrackerInertiaModifier к инерции ВзаимодействияTracker.

Метод ConfigurePositionXInertiaModifiers применяет отдельный объект или коллекцию InteractionTrackerInertiaModifierк компоненту InteractionTracker. Система будет оценивать каждое свойство условия X в том порядке, в который они были добавлены в InteractionTracker. Таким образом, порядок, с которым в коллекции имеется InteractionTrackerInertiaModifier , будет таким же порядком, с которым будет оцениваться система.

ConfigurePositionYInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

Применяет коллекцию объектов InteractionTrackerInertiaModifier к инерции ВзаимодействияTracker.

Метод ConfigurePositionYInertiaModifiers применяет отдельный объект или коллекцию InteractionTrackerInertiaModifierк компоненту y InteractionTracker. Система будет оценивать каждое свойство условия Y в том порядке, в который они были добавлены в InteractionTracker. Таким образом, порядок, с которым в коллекции имеется InteractionTrackerInertiaModifier , будет таким же порядком, с которым будет оцениваться система.

ConfigureScaleInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

Применяет коллекцию объектов InteractionTrackerInertiaModifier к масштабу Объекта InteractionTracker.

Метод ConfigureScaleInertiaModifiers применяет отдельный или коллекцию элементов InteractionTrackerInertiaModifierк компоненту ScaleTracker. Система вычисляет каждое свойство условия модификатора масштабирования в том порядке, в который они были добавлены в InteractionTracker. Таким образом, порядок, с которым в коллекции имеется InteractionTrackerInertiaModifier , будет таким же порядком, с которым будет оцениваться система.

ConfigureVector2PositionInertiaModifiers(IIterable<InteractionTrackerVector2InertiaModifier>)

Применяет коллекцию объектов InteractionTrackerInertiaModifier к позиции Объекта InteractionTracker.

Create(Compositor)

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

Этот метод Create создаст экземпляр InteractionTracker. После создания параметра InteractionTracker свойства, присоединения VisualInteractionSource и ссылки на положение или масштабирование в ExpressionAnimation активные входные данные могут управлять выражениемAnimation.

CreateWithOwner(Compositor, IInteractionTrackerOwner)

Создает экземпляр InteractionTracker с указанным владельцем.

Этот метод Create создаст экземпляр InteractionTracker с владельцем для регистрации обратных вызовов. После создания параметра InteractionTracker свойства, присоединения VisualInteractionSource и ссылки на положение или масштабирование в ExpressionAnimation активные входные данные могут управлять выражениемAnimation. Создание InteractionTracker с владельцем требуется только в том случае, если приложению необходимо получать обратные вызовы относительно состояния и значений InteractionTracker.

Dispose()

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

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

Извлекает режим оси привязки между двумя средствами отслеживания взаимодействия.

PopulatePropertyInfo(String, AnimationPropertyInfo)

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

(Унаследовано от CompositionObject)
SetBindingMode(InteractionTracker, InteractionTracker, InteractionBindingAxisModes)

Задает режим оси привязки между двумя средствами отслеживания взаимодействия.

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)
TryUpdatePosition(Vector3, InteractionTrackerClampingOption, InteractionTrackerPositionUpdateOption)

Пытается обновить позицию InteractionTracker с помощью указанного параметра закрепления.

TryUpdatePosition(Vector3, InteractionTrackerClampingOption)

Пытается обновить позицию InteractionTracker с помощью указанного параметра закрепления.

TryUpdatePosition(Vector3)

Пытается обновить позицию InteractionTracker.

Метод TryUpdatePosition обновляет расположение InteractionTracker до позиции Vector3, указанной в качестве параметра. TryUpdatePosition используется для декларативного определения позиции InteractionTracker в любой момент времени (либо в начале, из какого-либо события, введенного в состояние, и т. д.). TryUpdatePosition можно вызвать из состояния простоя, CustomAnimation или Инерции. Это приведет к перемещению позиции InteractionTracker в определенную позицию и введите состояние простоя.

TryUpdatePositionBy(Vector3, InteractionTrackerClampingOption)

Пытается настроить позицию InteractionTracker по указанному количеству с помощью указанного параметра закрепления.

TryUpdatePositionBy(Vector3)

Пытается настроить позицию InteractionTracker по указанному количеству.

Метод TryUpdatePositionBy обновляет текущее расположение InteractionTracker разностным значением Vector3, указанным в качестве параметра. Аналогично TryUpdatePosition, TryUpdatePositionBy используется для декларативного перемещения InteractionTracker определенным разностным образом без необходимости анимации или инерции. TryUpdatePositionBy можно вызвать из состояния простоя, CustomAnimation или Инерции. Это приведет к перемещению позиции InteractionTracker по определенной разностности и введите состояние простоя.

TryUpdatePositionWithAdditionalVelocity(Vector3)

Пытается обновить позицию InteractionTracker, добавив скорость.

Метод TryUpdatePositionWithAdditionalVelocity добавляет входной Vector3, представляющий дополнительную скорость к текущей скорости InteractionTracker. В результате, поскольку скорость ВзаимодействияTracker изменилась, целевая позиция отдыха для InteractionTracker теперь изменяется. TryUpdatePositionWithAdditionalVelocity можно вызывать из состояний простоя, инерции или CustomAnimation. Это приведет к добавлению или обновлению скорости ВзаимодействияTracker и введите состояние инерции.

TryUpdatePositionWithAnimation(CompositionAnimation)

Пытается обновить позицию InteractionTracker, применяя анимацию.

Метод TryUpdatePositionWithAnimation обновляет положение InteractionTracker на основе входных данных CompositionAnimation в качестве параметра. Этот метод используется в ситуациях, когда движение InteractionTracker должно определяться определенной анимацией, а не традиционным интерфейсом инерции. TryUpdatePositionWithAnimation можно вызвать из состояния простоя или инерции. Это делается, позиция InteractionTracker будет управляться определенной анимацией и ввести состояние CustomAnimation.

TryUpdateScale(Single, Vector3)

Пытается обновить масштаб до указанного значения.

Метод TryUpdateScale обновляет масштабируемое расположение InteractionTracker до позиции Scale и центра, указанной в качестве параметра. TryUpdateScale используется для декларативного определения масштаба InteractionTracker в любой момент времени (либо в начале, из какого-либо события, введенного в состояние, и т. д.). TryUpdateScale можно вызвать из состояния простоя, CustomAnimation или Инерции. Это приведет к перемещению позиции масштабирования InteractionTracker в определенную позицию и введите состояние простоя.

TryUpdateScaleWithAdditionalVelocity(Single, Vector3)

Пытается обновить масштаб, добавив указанную скорость.

Метод TryUpdateScaleWithAdditionalVelocity добавляет скалярные входные данные (представляющий дополнительную скорость) к текущей скорости InteractionTracker и перемещает центральную точку на входные данные Vector3. В результате, так как скорость InteractionTracker изменилась, целевая позиция масштабирования rest для InteractionTracker теперь изменяется. TryUpdateScaleWithAdditionalVelocity можно вызвать из состояний простоя, инерции или CustomAnimation. Это приведет к добавлению или обновлению скорости InteractionTracker и введите состояние инерции.

TryUpdateScaleWithAnimation(CompositionAnimation, Vector3)

Пытается обновить масштаб с помощью указанной анимации.

Метод TryUpdateScaleWithAnimation обновляет положение масштабирования InteractionTracker на основе параметра CompositionAnimation . Этот метод используется в ситуациях, когда движение InteractionTracker должно определяться определенной анимацией, а не традиционным интерфейсом инерции. TryUpdateScaleWithAnimation можно вызвать из состояния простоя или инерции. Это делается, позиция InteractionTracker будет управляться определенной анимацией и ввести состояние CustomAnimation.

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

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