public static void SetChartOptions(FinancialChart chart) { FinancialChartType finType = chart.ChartType; if (finType == FinancialChartType.Kagi || finType == FinancialChartType.Renko || finType == FinancialChartType.PointAndFigure) { string frmName = typeof(frmBase).Namespace + ".frm" + finType.ToString(); using (frmBase frm = Assembly.GetExecutingAssembly().CreateInstance(frmName) as frmBase) { FinancialChartOptions fco = chart.Options; frm.SetTargetObject(fco); } } }
private void SettableRadioButton_Checked(object sender, RoutedEventArgs e) { var btn = sender as CustomControls.SettableRadioButton; if (btn.Tag != null) { this.ChartType = (FinancialChartType)btn.Tag; } if (this.ChartType != FinancialChartType.Renko && this.ChartType != FinancialChartType.Kagi && this.ChartType != FinancialChartType.PointAndFigure) { Command.CloseDropdownCommand cmd = new Command.CloseDropdownCommand(); cmd.Execute(this); } }
private void InitAndBindingPointAndFigureData(FinancialChartType type) { IEnumerable <Data.SettingParam> settings; if (ViewModel.ViewModel.Instance.Settings.TryGetValue(Enum.GetName(typeof(FinancialChartType), type), out settings)) { var reversalSetting = (from p in settings where p.Key == "ReversalAmount" select p).FirstOrDefault(); if (reversalSetting != null) { var value = System.Convert.ToDouble(reversalSetting.Value); this.financialChart.Options.ReversalAmount = value > 1 ? value : 1; reversalSetting.PropertyChanged += (o, e) => { if (e.PropertyName == "Value" && financialChart.ChartType == type) { value = System.Convert.ToDouble(reversalSetting.Value); if (value > 0) { this.financialChart.Options.ReversalAmount = value; } } }; } var dataFieldsSetting = (from p in settings where p.Key == "DataFields" select p).FirstOrDefault(); if (dataFieldsSetting != null) { var value = (DataFields)dataFieldsSetting.Value; this.financialChart.Options.DataFields = value; dataFieldsSetting.PropertyChanged += (o, e) => { if (e.PropertyName == "Value" && financialChart.ChartType == type) { value = (DataFields)dataFieldsSetting.Value; this.financialChart.Options.DataFields = value; } }; } var scalingSetting = (from p in settings where p.Key == "Scaling" select p).FirstOrDefault(); if (scalingSetting != null) { var value = (C1.Chart.Finance.PointAndFigureScaling)scalingSetting.Value; (this.financialChart.Options as C1.Xaml.Chart.Finance.PointAndFigureOptions).Scaling = value; scalingSetting.PropertyChanged += (o, e) => { if (e.PropertyName == "Value" && financialChart.ChartType == type) { value = (C1.Chart.Finance.PointAndFigureScaling)scalingSetting.Value; (this.financialChart.Options as C1.Xaml.Chart.Finance.PointAndFigureOptions).Scaling = value; } }; } var boxSizeSetting = (from p in settings where p.Key == "BoxSize" select p).FirstOrDefault(); if (boxSizeSetting != null) { var value = System.Convert.ToDouble(boxSizeSetting.Value); this.financialChart.Options.BoxSize = value > 1 ? value : 1; boxSizeSetting.PropertyChanged += (o, e) => { if (e.PropertyName == "Value" && financialChart.ChartType == type) { value = System.Convert.ToDouble(boxSizeSetting.Value); if (value > 0) { this.financialChart.Options.BoxSize = value; } } }; } var periodSetting = (from p in settings where p.Key == "Period" select p).FirstOrDefault(); if (periodSetting != null) { var value = System.Convert.ToInt32(periodSetting.Value); (this.financialChart.Options as C1.Xaml.Chart.Finance.PointAndFigureOptions).Period = value; periodSetting.PropertyChanged += (o, e) => { if (e.PropertyName == "Value" && financialChart.ChartType == type) { value = System.Convert.ToInt32(periodSetting.Value); if (value > 0) { (this.financialChart.Options as C1.Xaml.Chart.Finance.PointAndFigureOptions).Period = value; } } }; } var squareGridSetting = (from p in settings where p.Key == "SquareGrid" select p).FirstOrDefault(); if (squareGridSetting != null) { var value = System.Convert.ToBoolean(squareGridSetting.Value); (this.financialChart.Options as C1.Xaml.Chart.Finance.PointAndFigureOptions).SquareGrid = value; squareGridSetting.PropertyChanged += (o, e) => { if (e.PropertyName == "Value" && financialChart.ChartType == type) { value = System.Convert.ToBoolean(squareGridSetting.Value); (this.financialChart.Options as C1.Xaml.Chart.Finance.PointAndFigureOptions).SquareGrid = value; } }; } settingsCache.Add(type, settings); } }
private void InitAndBindingData(FinancialChartType type) { IEnumerable <Data.SettingParam> settings; if (ViewModel.ViewModel.Instance.Settings.TryGetValue(Enum.GetName(typeof(FinancialChartType), type), out settings)) { var reversalSetting = (from p in settings where p.Key == "ReversalAmount" select p).FirstOrDefault(); if (reversalSetting != null) { var value = System.Convert.ToDouble(reversalSetting.Value); this.financialChart.Options.ReversalAmount = value > 1 ? value : 1; this.financialChart.Options.BoxSize = value > 1 ? value : 1; reversalSetting.PropertyChanged += (o, e) => { if (e.PropertyName == "Value" && financialChart.ChartType == type) { value = System.Convert.ToDouble(reversalSetting.Value); if (value > 0) { this.financialChart.Options.ReversalAmount = value; this.financialChart.Options.BoxSize = value; } } }; } var rangeModeSetting = (from p in settings where p.Key == "RangeMode" select p).FirstOrDefault(); if (rangeModeSetting != null) { var value = (RangeMode)rangeModeSetting.Value; this.financialChart.Options.RangeMode = value; rangeModeSetting.PropertyChanged += (o, e) => { if (e.PropertyName == "Value" && financialChart.ChartType == type) { value = (RangeMode)rangeModeSetting.Value; this.financialChart.Options.RangeMode = value; if (value == RangeMode.Percentage) { this.financialChart.Options.ReversalAmount = 0.05; reversalSetting.Type = typeof(double); reversalSetting.Value = 0.05; reversalSetting.Minimum = 0; } else { this.financialChart.Options.ReversalAmount = 2; reversalSetting.Type = typeof(uint); reversalSetting.Value = 2; reversalSetting.Minimum = 1; } } }; } var dataFieldsSetting = (from p in settings where p.Key == "DataFields" select p).FirstOrDefault(); if (dataFieldsSetting != null) { var value = (DataFields)dataFieldsSetting.Value; this.financialChart.Options.DataFields = value; dataFieldsSetting.PropertyChanged += (o, e) => { if (e.PropertyName == "Value" && financialChart.ChartType == type) { value = (DataFields)dataFieldsSetting.Value; this.financialChart.Options.DataFields = value; } }; } settingsCache.Add(type, settings); } }