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
- Наследование
- Атрибуты
- Реализации
Примеры
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 для выбора:
Это свойство должно быть включено, чтобы разрешить VisualInteractionSource отправлять данные оси X в InteractionTracker. |
| PositionYChainingMode |
Свойство PositionYChainingMode определяет поведение цепочки для Объекта InteractionSource в направлении Y. Существует три типа InteractionChainingMode : Auto, Always, Never. При включении цепочки в направлении Y входные данные будут передаваться в ближайший visualInteractionSource ближайшего предка всякий раз, когда взаимодействие (например, сдвига) будет принимать положение InteractionTracker после минимальной или максимальной позиции Y. |
| PositionYSourceMode |
Исходный режим для оси Y. Свойство PositionYSourceMode определяет способ обработки взаимодействий для VisualInteractionSource на оси Y. Существует три типа InteractionSourceMode для выбора:
Это свойство должно быть включено, чтобы разрешить VisualInteractionSource отправлять данные оси Y в InteractionTracker. |
| Properties |
Коллекция свойств, связанных с CompositionObject. (Унаследовано от CompositionObject) |
| Scale |
Общее процентное различие в масштабе с момента начала взаимодействия. Умножение. По умолчанию равен 1. Доступны только для чтения с помощью выражения или анимации. |
| ScaleChainingMode |
Свойство ScaleChainingMode определяет поведение цепочки для Объекта InteractionSource в направлении масштабирования. Существует три типа взаимодействияChainingMode : Auto, Always, Never. Если включена цепочка масштабирования, входные данные будут передаваться в ближайший visualInteractionSource предка всякий раз, когда взаимодействие (например, сдвиг) в противном случае будет принимать положение InteractionTracker после минимальной или максимальной позиции масштабирования. |
| ScaleSourceMode |
Определяет способ обработки взаимодействий для VisualInteractionSource на оси масштабирования. Существует три типа InteractionSourceMode для выбора:
Это свойство должно быть включено, чтобы разрешить VisualInteractionSource отправлять масштабируемые данные в InteractionTracker. |
| ScaleVelocity |
Мгновенное значение изменения масштаба в взаимодействии в процентах в секунду. Добавка. Значение по умолчанию — 0. Чтение осуществляется только через выражение или анимацию. |
| Source |
Визуальный элемент, используемый для тестирования попаданий и определяющий координатное пространство для распознавания жестов. |
Методы
| Имя | Описание |
|---|---|
| Close() |
Закрывает ресурсы системы CompositionObject и освобождает системные ресурсы. (Унаследовано от CompositionObject) |
| ConfigureCenterPointXModifiers(IIterable<CompositionConditionalValue>) |
Принимает упорядоченный список объектов CompositionConditionalValue . В кадре первое свойство Condition возвращает true, |
| ConfigureCenterPointYModifiers(IIterable<CompositionConditionalValue>) |
Принимает упорядоченный список CompositionConditionalValue. В кадре первый compositionConditionalValue должен иметь его ". Условие", вычисляющее значение true, заменяет значение Zoom CenterPointY, которое предоставляет VisualInteractionSource с его ". Значение". Если значение равно true, центрPointY не заменяет этот кадр. |
| ConfigureDeltaPositionXModifiers(IIterable<CompositionConditionalValue>) |
Принимает упорядоченный список объектов CompositionConditionalValue . В кадре |
| ConfigureDeltaPositionYModifiers(IIterable<CompositionConditionalValue>) |
Принимает упорядоченный список объектов CompositionConditionalValue . В кадре первое |
| ConfigureDeltaScaleModifiers(IIterable<CompositionConditionalValue>) |
Принимает упорядоченный список объектов CompositionConditionalValue . В кадре свойство Condition возвращает значение true, |
| 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. |