Application.ResourceManagerRequested 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在启动新的 WinUI 线程期间发生,以便提供框架用于解析资源 URI 的自定义 IResourceManager
实现。
// Register
event_token ResourceManagerRequested(TypedEventHandler<IInspectable, ResourceManagerRequestedEventArgs const&> const& handler) const;
// Revoke with event_token
void ResourceManagerRequested(event_token const* cookie) const;
// Revoke with event_revoker
Application::ResourceManagerRequested_revoker ResourceManagerRequested(auto_revoke_t, TypedEventHandler<IInspectable, ResourceManagerRequestedEventArgs const&> const& handler) const;
public event TypedEventHandler<object,ResourceManagerRequestedEventArgs> ResourceManagerRequested;
function onResourceManagerRequested(eventArgs) { /* Your code */ }
application.addEventListener("resourcemanagerrequested", onResourceManagerRequested);
application.removeEventListener("resourcemanagerrequested", onResourceManagerRequested);
- or -
application.onresourcemanagerrequested = onResourceManagerRequested;
Public Custom Event ResourceManagerRequested As TypedEventHandler(Of Object, ResourceManagerRequestedEventArgs)
事件类型
TypedEventHandler<IInspectable,ResourceManagerRequestedEventArgs>
注解
WinUI 框架实例化 MRT 核心 ResourceManager 以解析资源 URI。 有关详细信息,请参见使用 MRT Core 管理资源。 如果你的应用需要默认 ResourceManager
未提供的非标准行为来解析特定的资源 URI,则可以提供自己的 IResourceManager 接口的自定义实现,以使用而不是默认 ResourceManager
。
ResourceManagerRequested
处理 事件,为 WinUI 框架提供自定义 IResourceManager,以替换框架创建的默认 ResourceManager。 在事件处理程序中,实例化自定义 IResourceManager
并将其分配给 ResourceManagerRequestedEventArgs.CustomResourceManager 属性。 此属性的值最初 null
为 ,并且只有在调用所有已注册的事件处理程序后,才会由框架检查每个事件引发一次。 如果属性值仍 null
为 ,则框架将使用默认 ResourceManager
的 。
初始化期间,每个 WinUI 线程引发一次此事件。 如果对多个线程使用相同的 IResourceManager
,则必须 IResourceManager
是线程安全的。
建议在类构造函数中 App
注册 事件处理程序,以便它在初始应用启动期间可用,如下所示。
public App()
{
this.InitializeComponent();
ResourceManagerRequested += (_, e) =>
{
// CreateResourceManager() is a custom method you
// create that returns an instance of IResourceManager.
IResourceManager resourceManager = CreateResourceManager();
e.ResourceManager = resourceManager;
};
}