UWP / WinRT:检测弹出窗口何时关闭
UWP / WinRT: Detect when a popup is about to be closed
如何检测弹出窗口即将关闭的时间?
Popup class 在 UWP 中没有 Closing
事件,这与 WPF 中存在此类事件不同。
我需要这个来保持 Popup 的状态,因为用户可以修改布局。
如您所知,没有关闭事件。您可能会幸运地注册到 IsOpen 属性 更改(如果 IsLightDismissEnabled 属性 设置为 true...)
this.popup.RegisterPropertyChangedCallback(Popup.IsOpenProperty, (d, e) =>
{
if (!this.popup.IsOpen)
{
// do something, popup is closing?
}
});
因为这发生在 LostFocus 和 Closed 事件被触发之前。除此之外,如果不是很复杂,您可以重新设计持久化数据的方式以一直持久化它们,以避免不得不依赖于关闭事件。
如何检测弹出窗口即将关闭的时间?
Popup class 在 UWP 中没有 Closing
事件,这与 WPF 中存在此类事件不同。
我需要这个来保持 Popup 的状态,因为用户可以修改布局。
如您所知,没有关闭事件。您可能会幸运地注册到 IsOpen 属性 更改(如果 IsLightDismissEnabled 属性 设置为 true...)
this.popup.RegisterPropertyChangedCallback(Popup.IsOpenProperty, (d, e) =>
{
if (!this.popup.IsOpen)
{
// do something, popup is closing?
}
});
因为这发生在 LostFocus 和 Closed 事件被触发之前。除此之外,如果不是很复杂,您可以重新设计持久化数据的方式以一直持久化它们,以避免不得不依赖于关闭事件。