public object Convert(object[] values, Type targetType,
                              object parameter, System.Globalization.CultureInfo culture)
        {
            if (values.Length < 2)
            {
                return(null);
            }

            ObservableCollection <AxisDefinitionModel> ad = values[0] as ObservableCollection <AxisDefinitionModel>;

            if (ad == null)
            {
                return(null);
            }
            string axiskey = values[1] as string;

            if (axiskey == null)
            {
                return(null);
            }
            AxisDefinitionModel axis = ad.SingleOrDefault(x => x.Key == axiskey);

            if (axis != null)
            {
                return(axis.AxisTitle);
            }
            return(null);
        }
Beispiel #2
0
        /// <summary>
        /// Fills a <see cref="OfficeOpenXml.Drawing.Chart.ExcelChartAxis"/> object with model data.
        /// </summary>
        /// <param name="axis"><see cref="OfficeOpenXml.Drawing.Chart.ExcelChartAxis" /> object.</param>
        /// <param name="axisNodeAsXml"><c>Xml</c> node than represent an axis definition.</param>
        /// <param name="model">Axis model definition.</param>
        private static void FormatFromModel(this ExcelChartAxis axis, XmlNode axisNodeAsXml, AxisDefinitionModel model)
        {
            if (model.Values.HasMaximunValue)
            {
                axis.MaxValue = double.Parse(model.Values.Maximun, CultureInfo.InvariantCulture);
            }

            if (model.Values.HasMinimunValue)
            {
                axis.MinValue = double.Parse(model.Values.Minimun, CultureInfo.InvariantCulture);
            }

            axis.MajorTickMark     = model.Marks.Major.ToEppTickMark();
            axis.MinorTickMark     = model.Marks.Minor.ToEppTickMark();
            axis.LabelPosition     = model.Labels.Position.ToEppLabelPosition();
            axis.TickLabelPosition = model.Labels.Position.ToEppLabelPosition();

            axisNodeAsXml.AddAxisGridLinesMode(model.GridLines);
            axisNodeAsXml.AddAxisLabelProperties(model.Labels);
            axisNodeAsXml.AddAxisLabelAlignment(model.Labels.Alignment);
            axisNodeAsXml.ModifyAxisCrosses();

            var axisType = axisNodeAsXml.ExtractAxisType();

            axis.Title.FormatFromModel(axisType.ToKnownChartElement(), model.Title);
        }
 public AxisDefinitionViewModel()
 {
     AxisDefinitionModel = new AxisDefinitionModel();
 }
 public AxisDefinitionViewModel(AxisDefinitionModel model)
 {
     AxisDefinitionModel = model;
 }