private void AddValidator([NotNull] ValidatorHeader validatorHeader)
        {
            Debug.ArgumentNotNull(validatorHeader, nameof(validatorHeader));

            var item = new CheckBox
            {
                Tag       = validatorHeader,
                Content   = validatorHeader.Name,
                Margin    = new Thickness(16, 1, 0, 1),
                IsChecked = SelectedItems.Contains(validatorHeader.ItemId)
            };

            item.Checked   += ValidatorCheck;
            item.Unchecked += ValidatorUncheck;

            Validators.Children.Add(item);
        }
        private void ControlLoaded([NotNull] object sender, [NotNull] RoutedEventArgs e)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(e, nameof(e));

            Loaded -= ControlLoaded;

            ExecuteCompleted completed = delegate(string response, ExecuteResult executeResult)
            {
                if (!DataService.HandleExecute(response, executeResult))
                {
                    return;
                }

                var result = new List <ValidatorHeader>();

                var doc = XDocument.Parse(response);

                var root = doc.Root;
                if (root == null)
                {
                    LoadValidators(result);
                    return;
                }

                foreach (var element in root.Elements())
                {
                    var header = new ValidatorHeader
                    {
                        Icon    = element.GetAttributeValue("icon"),
                        Name    = element.Value,
                        ItemUri = new ItemUri(DatabaseUri, new ItemId(new Guid(element.GetAttributeValue("id")))),
                        Path    = element.GetAttributeValue("path"),
                        Section = element.GetAttributeValue("section")
                    };

                    result.Add(header);
                }

                LoadValidators(result);
            };

            DatabaseUri.Site.DataService.ExecuteAsync("Validation.GetValidators", completed, DatabaseUri.DatabaseName.ToString());
        }