Share via


AppExtensionCatalog.PackageUpdating 事件

定义

更新扩展包时触发的事件。

// Register
event_token PackageUpdating(TypedEventHandler<AppExtensionCatalog, AppExtensionPackageUpdatingEventArgs const&> const& handler) const;

// Revoke with event_token
void PackageUpdating(event_token const* cookie) const;

// Revoke with event_revoker
AppExtensionCatalog::PackageUpdating_revoker PackageUpdating(auto_revoke_t, TypedEventHandler<AppExtensionCatalog, AppExtensionPackageUpdatingEventArgs const&> const& handler) const;
public event TypedEventHandler<AppExtensionCatalog,AppExtensionPackageUpdatingEventArgs> PackageUpdating;
function onPackageUpdating(eventArgs) { /* Your code */ }
appExtensionCatalog.addEventListener("packageupdating", onPackageUpdating);
appExtensionCatalog.removeEventListener("packageupdating", onPackageUpdating);
- or -
appExtensionCatalog.onpackageupdating = onPackageUpdating;
Public Custom Event PackageUpdating As TypedEventHandler(Of AppExtensionCatalog, AppExtensionPackageUpdatingEventArgs) 

事件类型

注解

此事件将标记包更新开始时间。 它位于 PackageUpdated 事件之前。 在大多数情况下,请将其视为 PackageUninstalling

处理此事件的一个好方法是在处理 PackageUpdating 时将包中的关联扩展视为不可用,然后在处理 PackageUpdated 事件时重新加载它们。 这两个事件之间的时间通常小于一秒。

事件参数 AppExtensionPackageUpdatingEventArgs.Extensions 仅包含 Package 以及扩展的 Package.appxmanifest 文件中指定为 <uap3:AppExtension Name=...>的扩展命名空间名称。 它不包含扩展列表。

处理 PackageUpdating 事件时,将正在更新的包与从该包加载的任何扩展匹配,以便跟踪哪些扩展现在可用。 这就是为什么你应该跟踪已加载的 AppExtensions 、它们所属的包,以及它们的唯一标识符,你可以将其用作键,如 AppExtensionCatalog.Open 的备注中所述。

适用于