private void ApplySplitterSettings(SplitContainer splitter) { string id = null; var splitterDistance = 0; SplitterPosSettings splitterSettings = null; if (splitter != null) { id = splitter.Name; if (this._settings != null) { splitterSettings = this._settings.GetSplitterSettings(id); } if (splitterSettings != null) { if (splitter.Orientation == Orientation.Vertical) { splitterDistance = splitterSettings.X; } else { splitterDistance = splitterSettings.Y; } if (splitterDistance != 0) { splitter.SplitterDistance = splitterDistance; } else { if (splitter.Orientation == Orientation.Vertical) { splitterSettings.X = splitter.SplitterDistance; } else { splitterSettings.Y = splitter.SplitterDistance; } if (this._settings != null) { this._settings.SetSplitterSettings(id, splitterSettings.X, splitterSettings.Y); } } } } }
public void SetSplitterSettings(string id, int xPosition, int yPosition) { var splitterSetting = SplitterSettings.FirstOrDefault(el => el.Id == id); if (splitterSetting == null) { splitterSetting = new SplitterPosSettings(id, xPosition, yPosition); SplitterSettings.Add(splitterSetting); } else { splitterSetting.X = xPosition; splitterSetting.Y = yPosition; } }
/// <summary> /// Gets settings for splitter. /// </summary> /// <param name="id"></param> /// <returns></returns> public SplitterPosSettings GetSplitterSettings(string id) { var settings = (from c in this._splitterSettings where c.Id == id select c).FirstOrDefault(); if (settings == null) { settings = new SplitterPosSettings(id); this._splitterSettings.Add(settings); } return settings; }