private void UnarchiveOnClick(object sender, RoutedEventArgs e) { OperationWindow operationWindow = new OperationWindow("Unarchiving"); operationWindow.OnFinish += (o, args) => { operationWindow.Close(); UpdatePanels(); }; List <Item> items = (_isFirstFocused ? FirstPanel : SecondPanel).Items.Cast <Item>() .Where(item => item.IsChecked).ToList(); if (items.Count < 1) { return; } operationWindow.Show(); operationWindow.Unarchive(items[0]); UpdatePanels(); }