PackageExtensionCatalog.PackageInstalled 事件

定义

安装扩展包时触发的事件。

// Register
event_token PackageInstalled(TypedEventHandler<PackageExtensionCatalog, PackageExtensionPackageInstalledEventArgs const&> const& handler) const;

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

// Revoke with event_revoker
PackageExtensionCatalog::PackageInstalled_revoker PackageInstalled(auto_revoke_t, TypedEventHandler<PackageExtensionCatalog, PackageExtensionPackageInstalledEventArgs const&> const& handler) const;
public event TypedEventHandler<PackageExtensionCatalog,PackageExtensionPackageInstalledEventArgs> PackageInstalled;
function onPackageInstalled(eventArgs) { /* Your code */ }
packageExtensionCatalog.addEventListener("packageinstalled", onPackageInstalled);
packageExtensionCatalog.removeEventListener("packageinstalled", onPackageInstalled);
- or -
packageExtensionCatalog.onpackageinstalled = onPackageInstalled;
Public Custom Event PackageInstalled As TypedEventHandler(Of PackageExtensionCatalog, PackageExtensionPackageInstalledEventArgs) 

事件类型

注解

事件参数 PackageExtensionPackageInstalledEventArgs.Extensions 包含扩展包中的扩展列表。

扩展按 <uap17:PackageExtension Name=...> 扩展的 Package.appxmanifest 文件中定义的 限定范围。 只有与主机的 Package.appxmanifest 文件中定义的 匹配 <uap17:PackageExtension Name=...> 的扩展才会出现在扩展列表中。

此事件的事件处理程序非常适合检查每个包扩展的正确性,并为用户提供使用它的选项。

PackageExtension 的部署单元是 Package。 这就是这是 安装事件而不是 PackageExtension 安装事件的原因。

包中通常只有一个扩展。 但是,请准备好处理包中有多个扩展的情况。

使用 PackageExtension.Id 来区分同一包中的扩展。 若要唯一标识包中的扩展,请考虑连接 Package.IdPackageExtension.Id

_uniqueId = yourPackageExtension.Package.Id + "|" + yourPackageExtension.Id;

这可以保证每个 PackageExtension 都有一个唯一的名称,可用于跟踪它。 建议将其用作 PackageExtensions 的 密钥,以便可以高效且正确地识别给定 的 PackageExtension 是否是你已知道的包。

适用于

另请参阅