Share via


IInteractionTrackerOwner 接口

定义

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

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

public interface class IInteractionTrackerOwner
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.LiftedContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(2288613277, 7466, 22550, 131, 106, 104, 169, 16, 80, 125, 135)]
struct IInteractionTrackerOwner
/// [Windows.Foundation.Metadata.Guid(2288613277, 7466, 22550, 131, 106, 104, 169, 16, 80, 125, 135)]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
struct IInteractionTrackerOwner
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.LiftedContract), 65536)]
[Windows.Foundation.Metadata.Guid(2288613277, 7466, 22550, 131, 106, 104, 169, 16, 80, 125, 135)]
public interface IInteractionTrackerOwner
[Windows.Foundation.Metadata.Guid(2288613277, 7466, 22550, 131, 106, 104, 169, 16, 80, 125, 135)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
public interface IInteractionTrackerOwner
Public Interface IInteractionTrackerOwner
属性

示例

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 的输出值更改时触发的回调。

适用于