public void LoadData()
        {
            if (_isConfigured)
            {
                return;
            }

            if (!File.Exists(_sourceFilePath))
            {
                return;
            }

            var document = new XmlDocument();

            document.Load(_sourceFilePath);

            var configNode = document.SelectSingleNode("//Settings");

            if (configNode == null)
            {
                return;
            }

            foreach (var node in configNode.SelectNodes("./SolutionHeader")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { })
            {
                HeaderItems.Add(ListDataItem.FromXml(node));
            }

            foreach (var node in configNode.SelectNodes("./SolutionCombo1")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { })
            {
                Combo1Items.Add(ListDataItem.FromXml(node));
            }

            foreach (var node in configNode.SelectNodes("./Toggles/Toggle")?.OfType <XmlNode>().ToArray() ?? new XmlNode[] { })
            {
                var id = node.Attributes?.OfType <XmlAttribute>()
                         .FirstOrDefault(a => String.Equals(a.Name, "Id", StringComparison.OrdinalIgnoreCase))?.Value?.ToLower();
                switch (id)
                {
                case PositioningId:
                    Positioning = PositioningInfo.FromXml(node);
                    break;

                case ResearchId:
                    Research = ResearchInfo.FromXml(node);
                    break;

                case StyleId:
                    Style = StyleInfo.FromXml(node, _imagesFolder, ProductId);
                    break;
                }
            }

            HeaderConfiguration = TextEditorConfiguration.FromXml(configNode, "SolutionHeader");
            Combo1Configuration = TextEditorConfiguration.FromXml(configNode, "SolutionCombo1");

            _isConfigured = true;
        }
        private ProductInfo(string title, string sourceFile, StorageDirectory imagesFolder)
        {
            Title = title;

            _sourceFilePath = sourceFile;

            ProductId = Path.GetFileNameWithoutExtension(_sourceFilePath);

            _imagesFolder = imagesFolder;

            HeaderItems         = new List <ListDataItem>();
            HeaderConfiguration = TextEditorConfiguration.Empty();

            Combo1Items         = new List <ListDataItem>();
            Combo1Configuration = TextEditorConfiguration.Empty();

            Positioning = PositioningInfo.Empty();
            Research    = ResearchInfo.Empty();
            Style       = StyleInfo.Empty();
        }