取消后,WPF窗口关闭不起作用

时间:2018-01-18 06:03:52

标签: c# wpf events

我有一个问题似乎无法通过Google解决(可能是因为我没有找到正确的标准)。我有一个关闭事件,检查是否启用了一个按钮并弹出一个带有结果的消息框(是/否)。如果用户说“不”,我会在应用中获得所需的结果;但是,右上角的X停止工作。如何“恢复”关闭按钮(右上角的“X”),以便按下时再次工作(并再次评估逻辑)。

我试过这个:Stackoverflow Question

我认为我不想玩窗口的可见性。窗户不会去任何地方。他们有脏数据,他们需要修复它或自动保存。

我在申请表中的内容是:

        private void DXWindow_Closing(object sender, CancelEventArgs e)
    {

        if (BtnPatSave.IsEnabled == false) return;
        if (MessageBox.Show(Properties.Resources.PatAcctMsgBox3, Properties.Resources.PatAcctMsgBox1,
                MessageBoxButton.YesNo,
                MessageBoxImage.Warning) == MessageBoxResult.No)
        {
            e.Cancel = true;
        }
        else
        {
            var patId = TbPatId.Text;
            var usl = new UnSetLockValue();
            usl.UnSetVal(patId);
            Log.Info("Patient Account is now unlocked by user: " + Environment.UserName);
        }
    }

1 个答案:

答案 0 :(得分:1)

这是因为您正在使用MessageBox类。 它禁用“X”按钮以允许用户仅提供您指定的值。 如果您不想要这种行为,我认为您必须创建自己的“MessageBox”。