我有一个窗口,我想一次只允许它的一个实例打开。他们可以打开/关闭窗口,但不能同时打开同一窗口的多个副本。
我有一个菜单,其中包含一个选项,单击该选项可打开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?它不是一个模态窗口,因为我想让它们做其他事情。
答案 0 :(得分:0)
这里最简单的解决方案可能是使pl变量成为全局变量。
每当点击按钮时,只需“显示”现有窗口。