0
我有一个窗口,我希望一次只允许打开它的一个实例。他们可以打开/关闭窗口,但不能同时打开同一个窗口的多个副本。当窗口打开时锁定菜单项,关闭时解锁
我有一个选项菜单,点击后打开ProductSelection窗口。 ListProductList是我的按钮:
private void ListProductListCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = _productListCanExecute;
//_productListCanExecute = !_productListCanExecute;
}
private void ListProductList(object sender, ExecutedRoutedEventArgs e)
{
_productListCanExecute = false;
ProductSelection pl = new ProductSelection(productCategoryList, productStyleList, productList);
pl.Show();
}
请注意,我设置的e.CanExecute的ListProductList按钮为false,以确保该事件处理程序不运行,因此无法打开更多的窗口。
现在,如何检测ProductSelection窗口已关闭,以便将_productListCanExecute设置回true?这不是一个模式窗口,因为我想让他们做其他事情。
您可能需要对此解释一下:解锁什么菜单?哪个窗户关闭?该菜单是否位于同一个窗口中,关闭...?可能更多的代码会有所帮助。 – NotMe 2012-02-06 23:23:11
我有一个WPF窗口,当我从工具栏中选择一个菜单选项时,我锁定该选项,以便只有实例。第二个窗口通过调用ListProductList来打开,然后通过设置e.canExecute来锁定窗口(这些窗口通过一个命令绑定来链接)。基本上,如果你打开一个窗口,如果它是关闭的,可以强制执行一些代码,比如会发生 – 2012-02-06 23:38:36
您是否试图强制ListProductList实质上是一个模态窗口?换句话说,一旦显示,您不希望用户在此窗口关闭之前做其他任何事情? – NotMe 2012-02-06 23:44:14