CompositionInteractionSourceCollection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
交互源的集合。
这是与给定 InteractionTracker 关联的交互源的集合。 此集合的唯一有效成员是 VisualInteractionSource。 每个 VisualInteractionSource 都需要具有唯一的命中测试 (源) 视觉对象。 将单独配置每个 VisualInteractionSource ,以便将所需的输入发送到 InteractionTracker。
public ref class CompositionInteractionSourceCollection sealed : CompositionObject, IIterable<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)]
class CompositionInteractionSourceCollection final : CompositionObject, IIterable<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)]
class CompositionInteractionSourceCollection final : CompositionObject, IIterable<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 sealed class CompositionInteractionSourceCollection : CompositionObject, IEnumerable<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 sealed class CompositionInteractionSourceCollection : CompositionObject, IEnumerable<ICompositionInteractionSource>
Public NotInheritable Class CompositionInteractionSourceCollection
Inherits CompositionObject
Implements IEnumerable(Of ICompositionInteractionSource)
- 继承
- 属性
- 实现
示例
void SetupMultipleSourceInteractionTracker(Visual horizontalVisual, Visual verticalVisual, Visual contentVisual)
{
//
// Create the InteractionTracker and set its min/max position. 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);
//
// Configure the two interaction sources. Enable input with inertia.
//
var interactionSource1 = VisualInteractionSource.Create(horizontalVisual);
var interactionSource2 = VisualInteractionSource.Create(verticalVisual);
interactionSource1.PositionXSourceMode =
InteractionSourceMode.EnabledWithInertia;
interactionSource2.PositionYSourceMode =
InteractionSourceMode.EnabledWithInertia;
_tracker.InteractionSources.Add(interactionSource1);
_tracker.InteractionSources.Add(interactionSource2);
//
// Bind the InteractionTracker outputs to the contentVisual.
//
var positionExpression = _compositor.CreateExpressionAnimation("- tracker.Position");
positionExpression.SetReferenceParameter("tracker", _tracker);
contentVisual.StartAnimation("Offset", positionExpression);
}
注解
虽然可以将多个 CompositionInteractionSources 添加到同一个 CompositionInteractionSourceCollection,但最常见的情况是在此集合中只有一个成员。 如果多个命中测试区域应驱动相同的 InteractionTracker,则可以使用多个。 如果同时对多个源视觉对象进行命中测试,可视化树层次结构将确定哪个源视觉对象优先。 如果任何常见父级包含的命中测试联系人数多于单个子级,则输入将提升为该父级。
属性
Comment |
要与 CompositionObject 关联的字符串。 (继承自 CompositionObject) |
Compositor |
用于创建此 CompositionObject 的 Compositor。 (继承自 CompositionObject) |
Count |
集合中的交互源数。 |
DispatcherQueue |
获取 CompositionObject 的 DispatcherQueue。 (继承自 CompositionObject) |
ImplicitAnimations |
附加到此 对象的隐式动画的集合。 (继承自 CompositionObject) |
Properties |
与 CompositionObject 关联的属性的集合。 (继承自 CompositionObject) |
方法
Add(ICompositionInteractionSource) |
将交互源添加到集合。 |
Close() |
关闭 CompositionObject 并释放系统资源。 (继承自 CompositionObject) |
Dispose() |
执行与释放或重置非托管资源关联的应用程序定义的任务。 (继承自 CompositionObject) |
First() |
返回指向集合中第一个对象的迭代器。 |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
定义可进行动画处理的属性。 (继承自 CompositionObject) |
Remove(ICompositionInteractionSource) |
从集合中删除指定的交互源。 |
RemoveAll() |
从集合中删除所有交互源。 |
StartAnimation(String, CompositionAnimation, AnimationController) |
将动画与 对象的指定属性连接,并启动动画。 (继承自 CompositionObject) |
StartAnimation(String, CompositionAnimation) |
将动画与 对象的指定属性连接,并启动动画。 (继承自 CompositionObject) |
StartAnimationGroup(ICompositionAnimationBase) |
启动动画组。 使用 CompositionObject 上的 StartAnimationGroup 方法可以启动 CompositionAnimationGroup。 组中的所有动画都将在 对象上同时启动。 (继承自 CompositionObject) |
StopAnimation(String) |
断开动画与指定属性的连接,并停止动画。 (继承自 CompositionObject) |
StopAnimationGroup(ICompositionAnimationBase) |
停止动画组。 (继承自 CompositionObject) |
TryGetAnimationController(String) |
返回指定属性上运行的动画的 AnimationController。 (继承自 CompositionObject) |