我有一个带弹出控件的PopUp窗口。有一个主窗口,可以从中显示此PopUp。 PopUp在处理查询后显示数据需要时间。所以当PopUp中的数据正在处理时,如果我最大化其他窗口,那么PopUp也会显示在其他窗口上。
我已将PopUpWindow.xaml.cs中的PopUp窗口的MainWindow所有者设为:
this.Owner = Application.Current.MainWindow;
我将PopUp Window的“StaysOpen”属性设置为false。但仍然存在问题。如果其他窗口最大化,如何阻止PopUp显示在其他窗口上。
答案 0 :(得分:1)
您可以在其所有者窗口停用时显式关闭弹出窗口,即当另一个窗口获得焦点并使用Deactivated事件到达顶部时:
window.Deactivated +=
(sender, args) => {
thePopup.IsOpen = false;
};
您可能还想捕获IsOpen状态,并在窗口激活时恢复它。