VisualInteractionSource Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Объект для настройки входных данных в InteractionTracker относительно визуального элемента.
VisualInteractionSource предназначен для использования только с InteractionTracker и определяет, какие входные данные будут отправляться в InteractionTracker для управления его состоянием и свойствами. Этот класс содержит визуальный элемент, используемый для проверки попадания, а также различные свойства конфигурации, для которых жесты и типы входных данных будут отправляться в InteractionTracker.
public ref class VisualInteractionSource sealed : CompositionObject, ICompositionInteractionSource
public ref class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
/// [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 VisualInteractionSource final : CompositionObject, ICompositionInteractionSource
/// [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 VisualInteractionSource : CompositionObject, ICompositionInteractionSource
[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 VisualInteractionSource : CompositionObject, ICompositionInteractionSource
[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 class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
Public NotInheritable Class VisualInteractionSource
Inherits CompositionObject
Implements ICompositionInteractionSource
Public Class VisualInteractionSource
Inherits CompositionObject
Implements ICompositionInteractionSource
- Наследование
- Атрибуты
- Реализации
Требования к Windows
Семейство устройств |
Windows 10 Anniversary Edition (появилось в 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v3.0)
|
Примеры
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. Свойство source используется как для проверки попадания, так и для координатного пространства для обнаружения жестов. Поэтому важно использовать визуальный элемент, который не будет находиться в движении во время манипуляции. Несколько VisualInteractionSources могут быть связаны с одним и тем же InteractionTracker, если есть несколько областей проверки попадания, но в наиболее распространенных случаях требуется только один VisualInteractionSource для заданного InteractionTracker.
VisualInteractionSource — это класс для настройки типов жестов, которые следует учитывать при управлении InteractionTracker. Позиции X и Y связаны с горизонтальным и вертикальным сдвигом соответственно. Масштабирование обнаруживается с помощью жеста сжатия, часто связанного с масштабированием. Все эти три режима источника можно настроить для сенсорного ввода и точной сенсорной панели. Каждый из этих режимов источника можно включить с инерцией или без нее:
Включение инерции указывает, что положение или шкала естественным образом интерполируются от скорости выпуска до без скорости во время состояния инерции.
Отключение инерции означает, что скорость положения или шкалы сразу же перейдет к 0 после завершения взаимодействия. Когда входные данные, которые определяют положение или масштабирование, направляются в InteractionTracker, свойство InteractionTracker с тем же именем будет обновлено соответствующим образом.
Конфигурации направляющих указывают, как будет обнаружен жест. По умолчанию направляющие включено и указывает, что горизонтальный или вертикальный сдвиг будет блокироваться на определенной оси при запуске в основном на этой оси. Более подробно это объясняется на страницах свойств перил.
Конфигурация цепочки указывает, могут ли входные данные, обрабатываемые одним элементом VisualInteractionSource, передаваться в другую сущность, когда InteractionTracker достигает минимального или максимального значения в этом направлении. Эта конфигурация позволит ввести данные в цепочку либо с другим InteractionTracker через другой Объект VisualInteractionSource, либо с ScrollViewer, если исходный визуальный элемент VisualInteractionSource является дочерним элементом ScrollViewer.
Журнал версий
Версия Windows | Версия пакета SDK | Добавленная стоимость |
---|---|---|
1703 | 15063 | ConfigureCenterPointXModifiers |
1703 | 15063 | ConfigureCenterPointYModifiers |
1703 | 15063 | ConfigureDeltaPositionXModifiers |
1703 | 15063 | ConfigureDeltaPositionYModifiers |
1703 | 15063 | ConfigureDeltaScaleModifiers |
1703 | 15063 | DeltaPosition |
1703 | 15063 | DeltaScale |
1703 | 15063 | Position |
1703 | 15063 | PositionVelocity |
1703 | 15063 | Масштабирование |
1703 | 15063 | ScaleVelocity |
1809 | 17763 | PointerWheelConfig |
1903 | 18362 | CreateFromIVisualElement |
Свойства
Comment |
Строка, связанная с CompositionObject. (Унаследовано от CompositionObject) |
Compositor |
Составитель, используемый для создания этого объекта CompositionObject. (Унаследовано от CompositionObject) |
DeltaPosition |
Объем изменения положения, применяемого во время предстоящего кадра. Значение по умолчанию — 0. Доступно только для чтения с помощью выражения или анимации. |
DeltaScale |
Объем изменения масштаба, которое будет применено во время предстоящего кадра. Мультипликативные. По умолчанию равен 1. Доступно только для чтения с помощью выражения или анимации. |
Dispatcher |
Диспетчер для CompositionObject. (Унаследовано от CompositionObject) |
DispatcherQueue |
Возвращает dispatcherQueue для объекта CompostionObject. (Унаследовано от 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 : Auto , Always и Never . Если включена цепочка в направлении X, входные данные будут поступать в VisualInteractionSource ближайшего предка всякий раз, когда взаимодействие (например, сдвиг) в противном случае займет позицию InteractionTracker после минимальной или максимальной позиции X. |
PositionXSourceMode |
Режим источника для оси X. Свойство PositionXSourceMode определяет, как обрабатываются взаимодействия для VisualInteractionSource на оси X. Существует 3 типа объектов InteractionSourceModeна выбор: "Отключено", "EnabledWithInertia" и "EnabledWithoutInertia". Это свойство должно быть включено, чтобы разрешить VisualInteractionSource отправлять данные оси X в InteractionTracker. |
PositionYChainingMode |
Свойство PositionYChainingMode определяет поведение цепочки для Объекта InteractionSource в направлении Y. Существует три типа объектов InteractionChainingMode : Auto , Always и Never . Если включена цепочка в направлении Y, входные данные будут поступать в VisualInteractionSource ближайшего предка всякий раз, когда взаимодействие (например, сдвиг) в противном случае займет позицию InteractionTracker после минимальной или максимальной позиции Y. |
PositionYSourceMode |
Режим источника для оси Y. Свойство PositionYSourceMode определяет, как обрабатываются взаимодействия для VisualInteractionSource на оси Y. Существует 3 типа объектов InteractionSourceModeна выбор: "Отключено", "EnabledWithInertia" и "EnabledWithoutInertia". Это свойство должно быть включено, чтобы разрешить VisualInteractionSource отправлять данные оси Y в InteractionTracker. |
Properties |
Коллекция свойств, связанных с CompositionObject. (Унаследовано от CompositionObject) |
Scale |
Общая разница в процентах в масштабе с начала взаимодействия. Мультипликативные. По умолчанию равен 1. Доступно только для чтения с помощью выражения или анимации. |
ScaleChainingMode |
Свойство ScaleChainingMode определяет поведение цепочки для Объекта InteractionSource в направлении Scale. Существует три типа объектов InteractionChainingMode : Auto, Always, Never. Если включена цепочки масштабирования, входные данные будут поступать в VisualInteractionSource ближайшего предка всякий раз, когда взаимодействие (например, сдвиг) займет позицию InteractionTracker после минимальной или максимальной позиции Scale. |
ScaleSourceMode |
Определяет способ обработки взаимодействий для VisualInteractionSource на оси масштабирования. Существует 3 типа InteractionSourceModeна выбор: Взаимодействия Disabled , EnabledWithInertia и EnabledWithoutInertia . Это свойство должно быть включено, чтобы разрешить VisualInteractionSource отправлять данные масштабирования в InteractionTracker. |
ScaleVelocity |
Мгновенная скорость изменения масштаба во взаимодействии в процентах в секунду. Добавка. Значение по умолчанию — 0. Чтение только с помощью выражения или анимации. |
Source |
Визуальный элемент, используемый для проверки попадания и определяющий пространство координации для распознавания жестов. |
Методы
Close() |
Закрывает объект CompositionObject и освобождает системные ресурсы. (Унаследовано от CompositionObject) |
ConfigureCenterPointXModifiers(IIterable<CompositionConditionalValue>) |
Принимает упорядоченный список CompositionConditionalValue. В кадре первый объект CompositionConditionalValue имеет значение . Условие" вычисляется до true, заменяет значение масштаба CenterPointX, которое visualInteractionSource предоставляет своим значением ". Значение". Если значение не равно true, элемент CenterPointX не заменяется этим кадром. |
ConfigureCenterPointYModifiers(IIterable<CompositionConditionalValue>) |
Принимает упорядоченный список CompositionConditionalValue. В кадре первый объект CompositionConditionalValue имеет значение . Условие" вычисляется до true, заменяет значение масштаба CenterPointY, которое предоставляет VisualInteractionSource своим значением ". Значение". Если значение не равно true, элемент CenterPointY не заменяется этим кадром. |
ConfigureDeltaPositionXModifiers(IIterable<CompositionConditionalValue>) |
Принимает упорядоченный список CompositionConditionalValue. В кадре первый объект CompositionConditionalValue имеет значение . Условие" вычисляется до true, заменяет значение DeltaPositionX, которое предоставляет VisualInteractionSource своим значением . Значение". Если значение не равно true, DeltaPositionX не заменяется этим кадром. |
ConfigureDeltaPositionYModifiers(IIterable<CompositionConditionalValue>) |
Принимает упорядоченный список CompositionConditionalValue. В кадре первый объект CompositionConditionalValue имеет значение . Условие" вычисляется до true, заменяет значение DeltaPositionY, которое visualInteractionSource предоставляет своим значением ". Значение". Если значение не равно true, deltaPositionY не заменяется этим кадром. |
ConfigureDeltaScaleModifiers(IIterable<CompositionConditionalValue>) |
Принимает упорядоченный список CompositionConditionalValue. В кадре первый объект CompositionConditionalValue имеет значение . Условие " значение true заменяет значение DeltaScale, которое visualInteractionSource предоставляет своим ". Значение". Если ни один из них не имеет значения true, deltaScale не заменяется этим кадром. |
ConnectAnimation(String, CompositionAnimation) |
Соединения и анимация. (Унаследовано от CompositionObject) |
Create(Visual) |
Создает экземпляр VisualInteractionSource. |
CreateFromIVisualElement(IVisualElement) |
Создает экземпляр VisualInteractionSource из элемента, реализующего IVisualElement. |
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) |
TryRedirectForManipulation(PointerPoint) |
Указывает, что настроенные манипуляции для заданного потока указателя должны отправляться в InteractionTracker, а не в поток пользовательского интерфейса приложения, начиная с заданного PointerPoint. TryRedirectForManipulation позволяет VisualInteractionSource перенаправлять поток указателя в InteractionTracker , если жест соответствует конфигурации в VisualInteractionSource. Этот метод следует вызывать только с вводом указателя устройства DeviceType Touch. |