using DevExpress.Data.Linq.Helpers; using DevExpress.DataAccess.Native.Json; using DevExpress.XtraCharts; namespace Yw.WinFrmUI { public partial class HydroCurveViewCtrl : DevExpress.XtraEditors.XtraUserControl { public HydroCurveViewCtrl() { InitializeComponent(); } /// /// x /// public string TitleTextX { get { return ((XYDiagram)chartControl1.Diagram).AxisX.Title.Text; } set { ((XYDiagram)chartControl1.Diagram).AxisX.Title.Text = value; } } /// /// y /// public string TitleTextY { get { return ((XYDiagram)chartControl1.Diagram).AxisY.Title.Text; } set { ((XYDiagram)chartControl1.Diagram).AxisY.Title.Text = value; } } /// /// x /// public AxisX AxisX { get { return ((XYDiagram)chartControl1.Diagram).AxisX; } } /// /// x /// public AxisY AxisY { get { return ((XYDiagram)chartControl1.Diagram).AxisY; } } /// /// /// public void SetBindingData(List pts) { this.hydroCurvePointViewModelBindingSource.DataSource = pts; this.hydroCurvePointViewModelBindingSource.ResetBindings(false); if (pts != null && pts.Any()) { var x_min = pts.Min(x => x.X); var x_max = pts.Max(x => x.X); var y_max = pts.Max(x => x.Y); var y_min = pts.Min(x => x.Y); x_min = Math.Floor(x_min); x_max = Math.Ceiling(x_max); y_min = Math.Floor(y_min); y_max = Math.Ceiling(y_max); this.AxisX.WholeRange.SetMinMaxValues(x_min, x_max); this.AxisX.VisualRange.SetMinMaxValues(x_min, x_max); this.AxisY.WholeRange.SetMinMaxValues(y_min, y_min); this.AxisY.VisualRange.SetMinMaxValues(y_max, y_max); } } } }