AppExtensionCatalog.PackageInstalled 事件

定义

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

// Register
event_token PackageInstalled(TypedEventHandler<AppExtensionCatalog, AppExtensionPackageInstalledEventArgs const&> const& handler) const;

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

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

事件类型

注解

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

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

此事件的事件处理程序是检查每个应用扩展的正确性并为用户提供使用它的选项的好方法。

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

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

使用 AppExtension.Id 来区分同一包中的扩展。 若要唯一标识应用中的扩展,请考虑连接 AppInfo.AppUserModelIdAppExtension.Id

_uniqueId = yourAppExtention.AppInfo.AppUserModelId + "!" + yourAppExtention.Id;

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

适用于