${IS6_ThemeGridRange_Title}

${IS6_ThemeGridRange_Description}

Inheritance: Theme
        internal static ThemeGridRange FromJson(JsonObject jsonObject)
        {
            if (jsonObject == null)
            {
                return null;
            }

            ThemeGridRange result = new ThemeGridRange();

            if (jsonObject.ContainsKey("breakValues") && jsonObject["breakValues"] != null && jsonObject["breakValues"].Count > 0)
            {
                result.BreakValues = new List<double>();
                for (int i = 0; i < jsonObject["breakValues"].Count; i++)
                {
                    result.BreakValues.Add(jsonObject["breakValues"][i]);
                }

            }
            if (jsonObject.ContainsKey("displays") && jsonObject["displays"] != null && jsonObject["displays"].Count > 0)
            {
                result.Displays = new List<ServerColor>();
                for (int i = 0; i < jsonObject["displays"].Count; i++)
                {
                    result.Displays.Add(ServerColor.FromJson(jsonObject["displays"][i]));
                }

            }
            result.Caption = (string)jsonObject["caption"];
            return result;
        }
        internal static string ToJson(ThemeGridRange param)
        {
            if (param == null)
            {
                return null;
            }
            string json = "{";
            List<string> list = new List<string>();

            if (param.BreakValues != null && param.BreakValues.Count > 0)
            {
                List<string> temp = new List<string>();
                for (int i = 0; i < param.BreakValues.Count; i++)
                {
                    temp.Add(string.Format("\"{0}\"", param.BreakValues[i]));
                }
                list.Add(string.Format("\"breakValues\":[{0}]", string.Join(",", temp.ToArray())));
            }

            if (!string.IsNullOrEmpty(param.Caption))
            {
                list.Add(string.Format("\"caption\":\"{0}\"", param.Caption));
            }

            if (param.Displays != null && param.Displays.Count > 0)
            {
                List<string> l = new List<string>();
                for (int i = 0; i < param.Displays.Count; i++)
                {
                    l.Add(string.Format("{0}", ServerColor.ToJson(param.Displays[i]).ToString()));
                }
                list.Add(string.Format("\"displays\":[{0}]", string.Join(",", l.ToArray())));
            }

            list.Add("\"enabled\":true");
            json += string.Join(",", list.ToArray());
            json += "}";

            return json;
        }
        //栅格范围分段专题图
        private void commit_Click(object sender, RoutedEventArgs e)
        {
            List<ServerColor> colors = new List<ServerColor>();
            ServerColor color1 = new ServerColor(255, 0, 0);
            ServerColor color2 = new ServerColor(0, 255, 0);
            ServerColor color3 = new ServerColor(0, 0, 255);
            ServerColor color4 = new ServerColor(255, 255, 0);
            ServerColor color5 = new ServerColor(255, 0, 255);
            ServerColor color6 = new ServerColor(0, 255, 255);

            colors.Add(color1);
            colors.Add(color2);
            colors.Add(color3);
            colors.Add(color4);
            colors.Add(color5);
            colors.Add(color6);

            ThemeGridRange gridRange = new ThemeGridRange()
            {
                BreakValues = new List<double>() { 1200, 1250, 1300, 1350, 1400 },
                Caption = "栅格范围分段专题图",
                Displays = colors
            };

            ThemeParameters parameters = new ThemeParameters()
            {
                MapName = "DEM",
                Theme = gridRange,
                LayerNames = layerNames,
                ThemeLayer = "DEM@dem"
            };

            //与服务器交互
            ThemeService service = new ThemeService("http://localhost/IS/AjaxDemo");
            service.ProcessAsync(parameters);
            service.Failed += new EventHandler<ServiceFailedEventArgs>(service_Failed);
            service.ProcessCompleted += new EventHandler<ThemeEventArgs>(service_ProcessCompleted);
        }