Язык

VisualInteractionSource Класс

Определение

Объект для настройки входных данных в InteractionTracker относительно визуального элемента.

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

[WebHostHidden]
public ref class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
/// [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)]
[WebHostHidden]
class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
/// [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)]
[WebHostHidden]
class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
[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 class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
[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 class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
Public Class VisualInteractionSource
Inherits CompositionObject
Implements ICompositionInteractionSource
Наследование
Object Platform::Object IInspectable CompositionObject VisualInteractionSource
Атрибуты
Реализации

Примеры

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 
  // end 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 axis.
  //

  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);
}

Комментарии

VisualInteractionSource используется для определения важных свойств типов взаимодействий, которые должны управлять состоянием и свойствами InteractionTracker. Исходное свойство используется для тестирования попаданий, а также пространства координат для обнаружения жестов. В результате важно использовать визуальный элемент, который не будет находиться в движении во время манипуляции. Несколько VisualInteractionSources могут быть связаны с одним и тем же Элементом InteractionTracker, если существует несколько областей тестирования попаданий, но наиболее распространенные случаи требуют только одного VisualInteractionSource для заданного элемента InteractionTracker.

VisualInteractionSource — это класс для настройки типов жестов, которые следует учитывать для управления InteractionTracker. Положение X и Y связаны с горизонтальным и вертикальным сдвигом соответственно. Масштабирование обнаруживается с помощью жеста сцепления, часто связанного с масштабированием. Эти три режима источника можно настроить для ввода сенсорной и точной сенсорной панели. Каждый из этих режимов источника можно включить с или без инерции:

  • Включение инерции указывает на то, что позиция или шкала, естественно, интерполируются от скорости выпуска до без скорости во время состояния инерции.

  • Отключение инерции указывает, что позиция или скорость масштабирования немедленно перейдет к 0 после завершения взаимодействия. Если входные данные, вводимые в положение или масштабирование дисков, перенаправятся в InteractionTracker, свойство InteractionTracker того же имени будет обновлено соответствующим образом.

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

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

Свойства

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

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

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

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

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

Количество изменений позиции, которое необходимо применить во время предстоящего кадра. Значение по умолчанию — 0. Доступны только для чтения с помощью выражения или анимации.

DeltaScale

Количество изменений масштаба, которое необходимо применить во время предстоящего кадра. Мультипликативные. По умолчанию равен 1. Доступны только для чтения с помощью выражения или анимации.

DispatcherQueue

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

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

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

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

Указывает, выполняется ли сдвиг на оси x.

Свойство IsPositionXRailsEnabled определяет конфигурацию перилирования при сдвигах оси X в соответствующий элемент InteractionTracker. Если включено, если начальная часть панели наклонена в определенном диапазоне относительно оси X, компонент Y области игнорируется и считается идеальным горизонтальным сдвига. Это свойство часто включается в ситуациях, когда включена функция прокрутки X и Y, но также требует надежного, идеального горизонтального сдвига.

IsPositionYRailsEnabled

Указывает, выполняется ли сдвиг на оси Y.

Свойство IsPositionYRailsEnabled определяет конфигурацию перилирования при сдвигах оси Y в соответствующий элемент InteractionTracker. Если включено, если начальная часть сдвига угляется в определенном диапазоне относительно оси Y, компонент X сдвига игнорируется и считается идеальным вертикальным сдвига. Это свойство часто включается в ситуациях, когда включен процесс прокрутки X и Y, но также требует надежного, идеального вертикального сдвига.

ManipulationRedirectionMode

Указывает, какие входные данные следует перенаправить в InteractionTracker.

PointerWheelConfig

Возвращает конфигурацию для ввода колесика указателя.

Position

Общее количество изменений позиции с момента начала взаимодействия. Значение по умолчанию — 0. Доступны только для чтения с помощью выражения или анимации.

PositionVelocity

Мгновенное значение изменения положения в взаимодействии в пикселях в секунду. Значение по умолчанию — 0. Чтение осуществляется только через выражение или анимацию.

PositionXChainingMode

Свойство PositionXChainingMode определяет поведение цепочки для Объекта InteractionSource в направлении X. Существует три типа InteractionChainingMode :

  • Автоматически
  • Всегда
  • никогда не

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

PositionXSourceMode

Режим источника для оси X.

Свойство PositionXSourceMode определяет способ обработки взаимодействий для VisualInteractionSource на оси X. Существует три типа InteractionSourceMode для выбора:

  • Взаимодействие отключено
  • EnabledWithInertia
  • EnabledWithoutInertia

Это свойство должно быть включено, чтобы разрешить VisualInteractionSource отправлять данные оси X в InteractionTracker.

PositionYChainingMode

Свойство PositionYChainingMode определяет поведение цепочки для Объекта InteractionSource в направлении Y. Существует три типа InteractionChainingMode : Auto, Always, Never. При включении цепочки в направлении Y входные данные будут передаваться в ближайший visualInteractionSource ближайшего предка всякий раз, когда взаимодействие (например, сдвига) будет принимать положение InteractionTracker после минимальной или максимальной позиции Y.

PositionYSourceMode

Исходный режим для оси Y.

Свойство PositionYSourceMode определяет способ обработки взаимодействий для VisualInteractionSource на оси Y. Существует три типа InteractionSourceMode для выбора:

  • Взаимодействие отключено
  • EnabledWithInertia
  • EnabledWithoutInertia

Это свойство должно быть включено, чтобы разрешить VisualInteractionSource отправлять данные оси Y в InteractionTracker.

Properties

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

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

Общее процентное различие в масштабе с момента начала взаимодействия. Умножение. По умолчанию равен 1. Доступны только для чтения с помощью выражения или анимации.

ScaleChainingMode

Свойство ScaleChainingMode определяет поведение цепочки для Объекта InteractionSource в направлении масштабирования. Существует три типа взаимодействияChainingMode : Auto, Always, Never. Если включена цепочка масштабирования, входные данные будут передаваться в ближайший visualInteractionSource предка всякий раз, когда взаимодействие (например, сдвиг) в противном случае будет принимать положение InteractionTracker после минимальной или максимальной позиции масштабирования.

ScaleSourceMode

Определяет способ обработки взаимодействий для VisualInteractionSource на оси масштабирования. Существует три типа InteractionSourceMode для выбора:

  • Disabled
  • EnabledWithInertia
  • EnabledWithoutInertia

Это свойство должно быть включено, чтобы разрешить VisualInteractionSource отправлять масштабируемые данные в InteractionTracker.

ScaleVelocity

Мгновенное значение изменения масштаба в взаимодействии в процентах в секунду. Добавка. Значение по умолчанию — 0. Чтение осуществляется только через выражение или анимацию.

Source

Визуальный элемент, используемый для тестирования попаданий и определяющий координатное пространство для распознавания жестов.

Методы

Имя Описание
Close()

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

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

Принимает упорядоченный список объектов CompositionConditionalValue . В кадре первое свойство Condition возвращает true, CompositionConditionalValue заменяет значение Composition.Visual.CenterPoint X значением, предоставленным свойством CompositionConditionalValue.Value. Если значение X не равно true, Composition.Visual.CenterPoint значение X не заменяется для этого кадра.

ConfigureCenterPointYModifiers(IIterable<CompositionConditionalValue>)

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

ConfigureDeltaPositionXModifiers(IIterable<CompositionConditionalValue>)

Принимает упорядоченный список объектов CompositionConditionalValue . В кадре CompositionConditionalValue первое свойство Condition возвращает true, заменяет значение DeltaPosition значением, предоставленным свойством CompositionConditionalValue.Value . Если значение равно true, DeltaPosition значение не заменяется для этого кадра.

ConfigureDeltaPositionYModifiers(IIterable<CompositionConditionalValue>)

Принимает упорядоченный список объектов CompositionConditionalValue . В кадре первое CompositionConditionalValue свойство Condition возвращает true, заменяет значение DeltaPosition Y значением, предоставленным свойством CompositionConditionalValue.Value . Если значение равно true, DeltaPosition значение Y не заменяется для этого кадра.

ConfigureDeltaScaleModifiers(IIterable<CompositionConditionalValue>)

Принимает упорядоченный список объектов CompositionConditionalValue . В кадре свойство Condition возвращает значение true, CompositionConditionalValue заменяющее значение DeltaScale значением, предоставленным свойством CompositionConditionalValue.Value. Если значение равно true, DeltaScale оно не заменено для этого кадра.

Create(Visual)

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

CreateFromIVisualElement(IVisualElement)

Создает экземпляр VisualInteractionSource из элемента, реализующего IVisualElement.

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)
TryRedirectForManipulation(ExpPointerPoint)

Пытается отправить настроенные манипуляции для заданного потока указателя в Объект InteractionTracker, а не поток пользовательского интерфейса приложения, начиная с заданного ExpPointerPoint.

Important

Этот метод должен вызываться только с помощью PointerDeviceType touch.

TryRedirectForManipulation(PointerPoint)

Пытается отправить настроенные манипуляции для заданного потока указателя в Объект InteractionTracker, а не поток пользовательского интерфейса приложения, начиная с заданного указателя.

Important

Этот метод должен вызываться только с помощью PointerDeviceType touch.

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

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