我有时会看到Window.ShowDialog()
的问题,其中窗口在物理上关闭,但不会返回显示它的代码中的ShowDialog点。
我有以下内容:
try
{
log.Debug("Showing new dialog window.");
result = dialogWindow.ShowDialog();
log.Debug("Closing new dialog window.");
}
finally
{
log.Debug("Resetting Opacity: " + this.ToString());
Opacity = 1;
Lock.Release(dialogWindowPadLock);
}
当窗口尝试Close()
时,它会消失,但不透明度不会设置为1,窗口仍然接收KeyUp事件,但它没有物理显示。
以前有人见过这样的事吗?
干杯,
詹姆斯
根据要求,关闭窗口的方法:
public override void EnterPressed(string input)
{
log.Info("User [" + username + "] successfully activated");
StopNextUserCheck();
ActivateUserExitReason = ExitReason.UserActivated;
Close();
// don't break as we don't want to add the dbp listener
return;
}
答案 0 :(得分:1)
我不确定我理解你的问题,但可能会尝试在窗口关闭事件中设置不透明度。
另外,尝试手动设置打开窗口的DialogResult。