Share via


IInteractionTrackerOwner 接口

定义

包含将由 InteractionTracker 事件触发的回调。

实现此接口可以接收有关 InteractionTracker 的状态和值的回调,以及是否遵循对 InteractionTracker 属性的请求更新。

public interface class IInteractionTrackerOwner
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.Guid(3677260531, 19947, 20051, 178, 156, 176, 108, 159, 150, 214, 81)]
struct IInteractionTrackerOwner
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.Guid(3677260531, 19947, 20051, 178, 156, 176, 108, 159, 150, 214, 81)]
public interface IInteractionTrackerOwner
Public Interface IInteractionTrackerOwner
属性

Windows 要求

设备系列
Windows 10 Anniversary Edition (在 10.0.14393.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v3.0 中引入)

示例

class InteractionBehavior : Behavior<UIElement>, IInteractionTrackerOwner
{
  public void CustomAnimationStateEntered(InteractionTracker sender, InteractionTrackerCustomAnimationStateEnteredArgs args)
  {
    //Logic to run when InteractionTracker enters CustomAnimation 
  }

  public void IdleStateEntered(InteractionTracker sender, InteractionTrackerIdleStateEnteredArgs args)
  {
    //Logic to run when InteractionTracker enters Idle
  }

  public void InertiaStateEntered(InteractionTracker sender, InteractionTrackerInertiaStateEnteredArgs args)
  {
    //Logic to run when InteractionTracker enters Inertia
  }

  public void InteractingStateEntered(InteractionTracker sender, InteractionTrackerInteractingStateEnteredArgs args)
  {
    //Logic to run when InteractionTracker enters Interacting
  }

  public void RequestIgnored(InteractionTracker sender, InteractionTrackerRequestIgnoredArgs args)
  {
    //Logic to run when a request to update position or scale is ignored
  }

  public void ValuesChanged(InteractionTracker sender, InteractionTrackerValuesChangedArgs args)
  {

    //Logic to run when position or scale change
  }
}

注解

如果应用程序需要更新 InteractionTracker 的状态或值,则需要实现 IInteractionTrackerOwner。 由于此模型的异步性质,这些回调是更新应用程序逻辑的最佳方式。 若要详细了解 InteractionTracker 状态和转换,请参阅 InteractionTracker

可以使用或不使用所有者创建 InteractionTracker 。 注册回调需要与所有者一起创建 InteractionTracker 。 如果这些回调对应用程序状态不重要,则创建一个没有所有者的 InteractionTracker 是合适的。

创建具有所有者的 InteractionTracker 还需要在适当的时候适当地释放 InteractionTracker

方法

CustomAnimationStateEntered(InteractionTracker, InteractionTrackerCustomAnimationStateEnteredArgs)

当 InteractionTracker 进入自定义动画状态时触发的回调。

IdleStateEntered(InteractionTracker, InteractionTrackerIdleStateEnteredArgs)

当 InteractionTracker 进入空闲状态时触发的回调。

InertiaStateEntered(InteractionTracker, InteractionTrackerInertiaStateEnteredArgs)

当 InteractionTracker 进入惯性状态时触发的回调。

InteractingStateEntered(InteractionTracker, InteractionTrackerInteractingStateEnteredArgs)

当 InteractionTracker 进入交互状态时触发的回调。

RequestIgnored(InteractionTracker, InteractionTrackerRequestIgnoredArgs)

当 InteractionTracker 忽略请求时触发的回调。

ValuesChanged(InteractionTracker, InteractionTrackerValuesChangedArgs)

当 InteractionTracker 的输出值发生更改时触发的回调。

适用于