public void Initialize([NotNull] DatabaseUri databaseUri, [NotNull] List <ItemId> selectedItems)
        {
            Assert.ArgumentNotNull(databaseUri, nameof(databaseUri));
            Assert.ArgumentNotNull(selectedItems, nameof(selectedItems));

            ValidatorPicker.Initialize(databaseUri, selectedItems);
            SelectedItems = selectedItems;
        }
        private void HandleKeyDown([NotNull] object sender, [NotNull] KeyEventArgs e)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(e, nameof(e));

            if (e.Key != Key.Delete)
            {
                return;
            }

            var selectedItems = Validators.SelectedItems.OfType <ListBoxItem>().Select(listBoxItem => listBoxItem.Tag).OfType <TemplateHeader>().Select(templateHeader => templateHeader.TemplateId).ToList();

            foreach (var selectedItem in selectedItems)
            {
                ValidatorPicker.Remove(selectedItem);
            }
        }
        private void Refresh()
        {
            Validators.Items.Clear();

            foreach (var selectedItem in SelectedItems)
            {
                var validatorHeader = ValidatorPicker.GetValidatorHeader(selectedItem);
                if (validatorHeader == null)
                {
                    continue;
                }

                var listBoxItem = new ListBoxItem
                {
                    Tag     = validatorHeader,
                    Content = validatorHeader.Name
                };

                Validators.Items.Add(listBoxItem);
            }
        }