protected void ReadXmlSettingsGroup(XmlNode xmlNode, ICollection <string> errors) { SettingsGroup settingsGroup = AllSettingsGroups.Where((SettingsGroup i) => xmlNode.Name == i.XmlNodeName).FirstOrDefault(); if (settingsGroup != null) { settingsGroup.ReadXml(xmlNode, this, errors); } else { errors.Add("意外的Xml节点 {0} 在 '{1}' 中".InvariantFormat(xmlNode.GetFullPath(), base.Text)); } }
private void OnSettingChanged() { CheckBox fromParentCheck = FromParentCheck; EnableDisableControls(!fromParentCheck.Checked); if (fromParentCheck.Checked) { GroupBase groupBase = _dialog.TabPages.OfType <INodePropertiesPage>().First().ParentGroup; if (groupBase != _sourceNode) { if (groupBase == null) { _sourceNode = DefaultSettingsGroup.Instance; } else { while (true) { SettingsGroup settingsGroupByName = groupBase.GetSettingsGroupByName(_settingsGroupName); if (settingsGroupByName.InheritSettingsType.Mode != 0) { break; } groupBase = settingsGroupByName.InheritSettingsType.GetInheritedSettingsNode(groupBase); } _sourceNode = groupBase; } } if (_sourceNode != DefaultSettingsGroup.Instance) { _sourceButton.Text = "Source: " + _sourceNode.FullPath; } else { _sourceButton.Text = "Source: Default settings group"; } _sourceButton.Show(); } else { _sourceButton.Hide(); } }