Share via


CompositionInteractionSourceCollection 类

定义

交互源的集合。

这是与给定 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)
继承
Object Platform::Object IInspectable CompositionObject CompositionInteractionSourceCollection
属性
实现

示例

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

用于创建此 CompositionObjectCompositor

(继承自 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)

将动画与 对象的指定属性连接,并启动动画。

(继承自 CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

将动画与 对象的指定属性连接,并启动动画。

(继承自 CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

启动动画组。

使用 CompositionObject 上的 StartAnimationGroup 方法可以启动 CompositionAnimationGroup。 组中的所有动画都将在 对象上同时启动。

(继承自 CompositionObject)
StopAnimation(String)

断开动画与指定属性的连接,并停止动画。

(继承自 CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

停止动画组。

(继承自 CompositionObject)
TryGetAnimationController(String)

返回指定属性上运行的动画的 AnimationController。

(继承自 CompositionObject)

适用于

另请参阅