PackageExtensionCatalog.PackageUpdating 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
更新扩展包时触发的事件。
// Register
event_token PackageUpdating(TypedEventHandler<PackageExtensionCatalog, PackageExtensionPackageUpdatingEventArgs const&> const& handler) const;
// Revoke with event_token
void PackageUpdating(event_token const* cookie) const;
// Revoke with event_revoker
PackageExtensionCatalog::PackageUpdating_revoker PackageUpdating(auto_revoke_t, TypedEventHandler<PackageExtensionCatalog, PackageExtensionPackageUpdatingEventArgs const&> const& handler) const;
public event TypedEventHandler<PackageExtensionCatalog,PackageExtensionPackageUpdatingEventArgs> PackageUpdating;
function onPackageUpdating(eventArgs) { /* Your code */ }
packageExtensionCatalog.addEventListener("packageupdating", onPackageUpdating);
packageExtensionCatalog.removeEventListener("packageupdating", onPackageUpdating);
- or -
packageExtensionCatalog.onpackageupdating = onPackageUpdating;
Public Custom Event PackageUpdating As TypedEventHandler(Of PackageExtensionCatalog, PackageExtensionPackageUpdatingEventArgs)
事件类型
注解
此事件将标记包更新开始时间。 它位于 PackageUpdated 事件之前。 在大多数情况下,请将此问题视为 PackageUninstalling。
处理此事件的一种好方法是在处理 PackageUpdating 时将包中的关联扩展视为不可用,然后在处理 PackageUpdated 事件时重新加载它们。 这两个事件之间的时间通常小于一秒。
事件参数 PackageExtensionPackageUpdatingEventArgs 仅包含扩展的 Package.appxmanifest 文件中指定的 Package 和 PackageExtensionName 作为 <uap17:PackageExtension Name=...>
。 它不包含扩展列表。
处理 PackageUpdating 事件时,将正在更新的包与从该包加载的任何扩展相匹配,以便跟踪哪些扩展现在可用。 因此,应跟踪已加载的 PackageExtensions 、它们所属的包,以及它们的唯一标识符,如 PackageExtensionCatalog.Open 的注释中所述,可以将其用作键。