DispatcherQueue.ShutdownStarting 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在调用 ShutdownQueue 或 ShutdownQueueAsync 时引发。 有关引发的事件的完整列表和顺序,请参阅 ShutdownQueueAsync 的备注。
// Register
event_token ShutdownStarting(TypedEventHandler<DispatcherQueue, DispatcherQueueShutdownStartingEventArgs const&> const& handler) const;
// Revoke with event_token
void ShutdownStarting(event_token const* cookie) const;
// Revoke with event_revoker
DispatcherQueue::ShutdownStarting_revoker ShutdownStarting(auto_revoke_t, TypedEventHandler<DispatcherQueue, DispatcherQueueShutdownStartingEventArgs const&> const& handler) const;
public event TypedEventHandler<DispatcherQueue,DispatcherQueueShutdownStartingEventArgs> ShutdownStarting;
function onShutdownStarting(eventArgs) { /* Your code */ }
dispatcherQueue.addEventListener("shutdownstarting", onShutdownStarting);
dispatcherQueue.removeEventListener("shutdownstarting", onShutdownStarting);
- or -
dispatcherQueue.onshutdownstarting = onShutdownStarting;
Public Custom Event ShutdownStarting As TypedEventHandler(Of DispatcherQueue, DispatcherQueueShutdownStartingEventArgs)
事件类型
示例
_dispatcherQueue.ShutdownStarting += (s, e) =>
{
// Queue is shutting down, do this last operation to
// update state before the dispatcher loop exits
_queue.TryEnqueue(
() =>
{
// clean up state
});
};
注解
ShutdownStarting 事件在事件循环退出之前从事件循环线程引发。 此事件的处理程序可以采用延迟,并且可以继续发布工作,直到延迟完成。 延迟完成后, DispatcherQueue 不再接受工作, DispatcherQueue.TryEnqueue 返回 false
。