${iServer2_Theme_ThemeGraduatedSymbol_Title}

${iServer2_Theme_ThemeGraduatedSymbol_Description}

Наследование: Theme
        //制作等级符号专题图
        private void commit_Click(object sender, RoutedEventArgs e)
        {
            ThemeGraduatedSymbol theme = new ThemeGraduatedSymbol()
            {
                Expression = "Pop_1994",
                BaseValue = 112813968.00000,
                PositiveStyle = new ServerStyle()
                {
                    MarkerSize = 5,
                    FillSymbolID = 1,
                    LineColor = new ServerColor
                    {
                        Red = 0,
                        Green = 255,
                        Blue = 0
                    }
                }
            };
            ThemeParameters parameters = new ThemeParameters
            {
                MapName = "World",
                LayerName = "World@world",
                Theme = theme
            };

            //与服务器交互
            ThemeService themeService = new ThemeService("http://localhost:7080/demo");
            themeService.ProcessAsync(parameters);
            themeService.Failed += new EventHandler<ServiceFailedEventArgs>(themeService_Failed);
            themeService.ProcessCompleted += new EventHandler<ThemeEventArgs>(themeService_ProcessCompleted);
        }
        internal static string ToJson(ThemeGraduatedSymbol param)
        {
            if (param == null)
            {
                return null;
            }
            string json = "{";
            List<string> list = new List<string>();
            list.Add(string.Format("\"baseValue\":{0}", param.BaseValue));
            if (!string.IsNullOrEmpty(param.Expression))
            {
                list.Add(string.Format("\"expression\":\"{0}\"", param.Expression));
            }
            else
            {
                list.Add(string.Format("\"expression\":null"));
            }
            list.Add(string.Format("\"graduatedMode\":{0}", (int)param.GraduatedMode));
            list.Add(string.Format("\"isFlowEnabled\":{0}", param.IsFlowEnabled));
            list.Add(string.Format("\"isLeaderLineDisplayed\":{0}", param.IsLeaderLineDisplayed));
            list.Add(string.Format("\"isNegativeDisplayed\":{0}", param.IsNegativeDisplayed));
            list.Add(string.Format("\"isZeroDisplayed\":{0}", param.IsZeroDisplayed));
            if (param.LeaderLineStyle != null)
            {
                list.Add(string.Format("\"leaderLineStyle\":{0}", ServerStyle.ToJson(param.LeaderLineStyle)));
            }
            else
            {
                list.Add(string.Format("\"leaderLineStyle\":null"));
            }

            if (param.NegativeStyle != null)
            {
                list.Add(string.Format("\"negativeStyle\":{0}", ServerStyle.ToJson(param.NegativeStyle)));
            }
            else
            {
                list.Add(string.Format("\"negativeStyle\":null"));
            }

            if (!string.IsNullOrEmpty(param.OffsetX))
            {
                list.Add(string.Format("\"offsetX\":\"{0}\"", param.OffsetX));
            }
            else
            {
                list.Add(string.Format("\"offsetX\":null"));
            }

            if (!string.IsNullOrEmpty(param.OffsetY))
            {
                list.Add(string.Format("\"offsetY\":\"{0}\"", param.OffsetY));
            }
            else
            {
                list.Add(string.Format("\"offsetY\":null"));
            }

            if (param.PositiveStyle != null)
            {
                list.Add(string.Format("\"positiveStyle\":{0}", ServerStyle.ToJson(param.PositiveStyle)));
            }
            else
            {
                list.Add(string.Format("\"positiveStyle\":null"));
            }

            if (param.ZeroStyle != null)
            {
                list.Add(string.Format("\"zeroStyle\":{0}", ServerStyle.ToJson(param.ZeroStyle)));
            }
            else
            {
                list.Add(string.Format("\"zeroStyle\":null"));
            }
            json += string.Join(",", list.ToArray());
            json += "}";

            return json;
        }
        /// <summary>${iServer2_ThemeGraduatedSymbol_method_FromJson_D}</summary>
        /// <returns>${iServer2_ThemeGraduatedSymbol_method_FromJson_return}</returns>
        /// <param name="jsonObject">${iServer2_ThemeGraduatedSymbol_method_FromJson_param_jsonObject}</param>
        public static ThemeGraduatedSymbol FromJson(JsonObject jsonObject)
        {
            if (jsonObject == null)
            {
                return null;
            }
            ThemeGraduatedSymbol result = new ThemeGraduatedSymbol()
            {
                BaseValue = (double)jsonObject["baseValue"],
                Expression = (string)jsonObject["expression"],
                IsFlowEnabled = (bool)jsonObject["isFlowEnabled"],
                IsLeaderLineDisplayed = (bool)jsonObject["isLeaderLineDisplayed"],
                IsNegativeDisplayed = (bool)jsonObject["isNegativeDisplayed"],
                IsZeroDisplayed = (bool)jsonObject["isZeroDisplayed"],
                LeaderLineStyle = ServerStyle.FromJson((JsonObject)jsonObject["leaderLineStyle"]),
                NegativeStyle = ServerStyle.FromJson((JsonObject)jsonObject["negativeStyle"]),
                OffsetX = (string)jsonObject["offsetX"],
                OffsetY = (string)jsonObject["offsetY"],
                PositiveStyle = ServerStyle.FromJson((JsonObject)jsonObject["positiveStyle"]),
                ZeroStyle = ServerStyle.FromJson((JsonObject)jsonObject["zeroStyle"])
            };

            if (jsonObject["graduatedMode"] != null)
            {
                result.GraduatedMode = (GraduatedMode)(int)jsonObject["graduatedMode"];
            }

            return result;
        }