使用Escape关闭DataWindows

时间:2015-01-08 13:58:26

标签: c# wpf catel

我有一个具有UserControl的DataWindow。 UserControl和DataWindow的VM是相同的。在DataWindow的构造函数中,我有:

public MyWindow(MyViewModel viewModel)
        : base(viewModel, DataWindowMode.OkCancel)
    {
        InitializeComponent();

        CanCloseUsingEscape = false;
    }

CanCloseUsingEscape = false;没有效果。 DataWindow仍然关闭。为防止DataWindow关闭,您可以考虑将此代码放在DataWindow的代码隐藏中:

private void OnKeyDown(object sender, System.Windows.Input.KeyEventArgs e)
    {
        if (e.Key == System.Windows.Input.Key.Escape)
            e.Handled = true;
    }

但这不起作用。如果我把它放在UserControl的代码隐藏中,那么它可以工作。这是预期的行为吗?

有没有办法全局关闭它,只在想要使用此功能的DataWindows上打开它?

0 个答案:

没有答案