public void LoadData(CalendarSettings calendarSettings)
		{
			_currentSettings = calendarSettings;
			pnEmpty.BringToFront();
			LoadControls();
			pnContainer.BringToFront();
		}
		public void ApplyColorSettings(CalendarSettings settings)
		{
			Settings.CalendarBackColor = settings.CalendarBackColor;
			Settings.CalendarBorderColor = settings.CalendarBorderColor;
			Settings.CalendarHeaderBackColor = settings.CalendarHeaderBackColor;
			Settings.CalendarHeaderForeColor = settings.CalendarHeaderForeColor;
			Settings.DeadLinksForeColor = settings.DeadLinksForeColor;
			Settings.MonthBodyBackColor = settings.MonthBodyBackColor;
			Settings.MonthBodyForeColor = settings.MonthBodyForeColor;
			Settings.MonthHeaderBackColor = settings.MonthHeaderBackColor;
			Settings.MonthHeaderForeColor = settings.MonthHeaderForeColor;
			Settings.SweepBackColor = settings.SweepBackColor;
			Settings.SweepForeColor = settings.SweepForeColor;
		}
		public void LoadData(CalendarSettings calendarSettings)
		{
			var pathChanged = _currentSettings == null ||
				!String.Equals(calendarSettings.Path, _currentSettings.Path, StringComparison.InvariantCultureIgnoreCase);
			_currentSettings = calendarSettings.Clone<CalendarSettings>(null);
			if (pathChanged)
			{
				pnEmpty.BringToFront();
				LoadControls();
				pnContainer.BringToFront();
			}
			else
			{
				foreach (var calendarPartControl in CalendarParts)
				{
					calendarPartControl.PartData.Parent.ApplyColorSettings(_currentSettings);
					break;
				}
				RefreshView();
			}
		}
		public static CalendarContainer Create(CalendarSettings settings)
		{
			var caledar = new CalendarContainer(settings);
			caledar.Load();
			return caledar;
		}
		protected CalendarContainer(CalendarSettings settings)
		{
			Settings = settings.Clone<CalendarSettings>(null);
			Parts = new List<CalendarPart>();
		}