窗口打开时锁定菜单项,关闭时解锁

时间:2012-02-06 23:14:48

标签: c# wpf menu

我有一个窗口,我想一次只允许它的一个实例打开。他们可以打开/关闭窗口,但不能同时打开同一窗口的多个副本

我有一个菜单,其中包含一个选项,单击该选项可打开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();
}

请注意,我将ListProductList按钮的e.CanExecute设置为false,以确保事件处理程序不会运行,因此不会打开更多窗口。

现在,如何检测ProductSelection窗口是否已关闭以便将_productListCanExecute设置为true?它不是一个模态窗口,因为我想让它们做其他事情。

1 个答案:

答案 0 :(得分:0)

这里最简单的解决方案可能是使pl变量成为全局变量。

每当点击按钮时,只需“显示”现有窗口。