Блокировать пункт меню при открытии окна, разблокировать при закрытии - PullRequest
0 голосов
/ 07 февраля 2012

У меня есть окно, в которое я хочу разрешить открывать только один его экземпляр за один раз.Они могут открывать / закрывать окно, но не могут иметь одновременно несколько копий одного и того же окна .

У меня есть меню с опцией, при нажатии которой открывается 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?Это не модальное окно, потому что я хочу позволить им делать другие вещи.

1 Ответ

0 голосов
/ 07 февраля 2012

Вероятно, самое простое решение - сделать переменную pl глобальной.

При каждом нажатии кнопки просто «показывать» это существующее окно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...