CompositionInteractionSourceCollection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
交互源的集合。
这是与给定 InteractionTracker 关联的交互源的集合。 此集合的唯一有效成员是 VisualInteractionSource。 每个 VisualInteractionSource 都需要具有唯一的命中测试 (源) 视觉对象。 将单独配置每个 VisualInteractionSource ,以便将所需输入发送到 InteractionTracker。
public ref class CompositionInteractionSourceCollection sealed : CompositionObject, IIterable<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 CompositionInteractionSourceCollection final : CompositionObject, IIterable<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 CompositionInteractionSourceCollection : CompositionObject, IEnumerable<ICompositionInteractionSource>
Public NotInheritable Class CompositionInteractionSourceCollection
Inherits CompositionObject
Implements IEnumerable(Of ICompositionInteractionSource)
- 继承
- 属性
- 实现
Windows 要求
设备系列 |
Windows 10 Anniversary Edition (在 10.0.14393.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v3.0 中引入)
|
示例
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 |
集合中的交互源数。 |
Dispatcher |
CompositionObject 的调度程序。 (继承自 CompositionObject) |
DispatcherQueue |
获取 CompostionObject 的 DispatcherQueue 。 (继承自 CompositionObject) |
ImplicitAnimations |
附加到此对象的隐式动画集合。 (继承自 CompositionObject) |
Properties |
与 CompositionObject 关联的属性的集合。 (继承自 CompositionObject) |