PackageExtensionCatalog.PackageStatusChanged 事件

定义

删除、更新或安装目录中的扩展包时触发的事件。

// Register
event_token PackageStatusChanged(TypedEventHandler<PackageExtensionCatalog, PackageExtensionPackageStatusChangedEventArgs const&> const& handler) const;

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

// Revoke with event_revoker
PackageExtensionCatalog::PackageStatusChanged_revoker PackageStatusChanged(auto_revoke_t, TypedEventHandler<PackageExtensionCatalog, PackageExtensionPackageStatusChangedEventArgs const&> const& handler) const;
public event TypedEventHandler<PackageExtensionCatalog,PackageExtensionPackageStatusChangedEventArgs> PackageStatusChanged;
function onPackageStatusChanged(eventArgs) { /* Your code */ }
packageExtensionCatalog.addEventListener("packagestatuschanged", onPackageStatusChanged);
packageExtensionCatalog.removeEventListener("packagestatuschanged", onPackageStatusChanged);
- or -
packageExtensionCatalog.onpackagestatuschanged = onPackageStatusChanged;
Public Custom Event PackageStatusChanged As TypedEventHandler(Of PackageExtensionCatalog, PackageExtensionPackageStatusChangedEventArgs) 

事件类型

注解

此事件可帮助你确定包何时不再可用、有效或已修改。 处理此事件以确定扩展何时可能不再有效且应禁用。 此事件的常见用途是检测是否在可移动媒体上安装提供扩展的包。 如果用户删除包含包的媒体,则会为该包引发此事件。

PackageStatus 类提供可能的包状态。

使用 PackageStatus.VerifyIsOk 确定包是否处于良好状态。 如果返回 false,则可以检查 PackageStatus.LicenseIssuePackageStatus.PackageOffline,并为这些情况提供特殊处理。 通常,如果包状态不正常,则应禁用它。 每当要加载扩展时,最好调用 PackageStatus.VerifyIsOk

请考虑处理此事件,以在扩展管理器 UI 中提供一个指示,指出扩展已禁用或不可用,因为包存在问题。

继续处理此事件,即使你确定包存在问题,因为用户可能会更新包,然后加载它可能正常。

PackageUpdatingPackageUninstalling 一样,此事件仅传递状态已更改的 Package 。 由你决定将 与已加载的 PackageExtension 相匹配 ,以确定哪些扩展受状态更改的影响。

适用于

另请参阅