我有一个具有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上打开它?