private void WriteFillSymbol(FillSymbol fillSymbol) { if (fillSymbol is ESRI.ArcGIS.Client.FeatureService.Symbols.SimpleFillSymbol || fillSymbol is ESRI.ArcGIS.Client.FeatureService.Symbols.PictureFillSymbol) { StartType(fillSymbol, Constants.esriFSSymbolsPrefix); WriteJsonAttribute(fillSymbol as IJsonSerializable); } else { StartType(fillSymbol, Constants.esriPrefix); if (fillSymbol.BorderThickness != 1.0) WriteAttribute("BorderThickness", fillSymbol.BorderThickness); SolidColorBrush sb = fillSymbol.BorderBrush as SolidColorBrush; if (sb != null) { WriteAttribute("BorderBrush", sb.Color); } else { writer.WriteStartElement(fillSymbol.GetType().Name + ".BorderBrush", Namespaces[Constants.esriPrefix]); new BrushXamlWriter(writer, Namespaces).WriteBrush(fillSymbol.BorderBrush); writer.WriteEndElement(); } sb = fillSymbol.Fill as SolidColorBrush; if (sb != null) { WriteAttribute("Fill", sb.Color); } else { writer.WriteStartElement(fillSymbol.GetType().Name + ".Fill", Namespaces[Constants.esriPrefix]); new BrushXamlWriter(writer, Namespaces).WriteBrush(fillSymbol.Fill); writer.WriteEndElement(); } //if (fillSymbol is ESRI.ArcGIS.Client.FeatureService.Symbols.SimpleFillSymbol) //{ // ESRI.ArcGIS.Client.FeatureService.Symbols.SimpleFillSymbol sfs = fillSymbol as ESRI.ArcGIS.Client.FeatureService.Symbols.SimpleFillSymbol; // WriteAttribute("Style", sfs.Style.ToString()); // WriteAttribute("BorderStyle", sfs.BorderStyle.ToString()); // WriteAttribute("Color", sfs.Color); // if (sfs.SelectionColor != null) // { // writer.WriteStartElement("SimpleFillSymbol.SelectionColor", Namespaces[Constants.esriFSSymbolsPrefix]); // new BrushXamlWriter(writer, Namespaces).WriteBrush(sfs.SelectionColor); // writer.WriteEndElement(); // } //} //else if (fillSymbol is ESRI.ArcGIS.Client.FeatureService.Symbols.PictureFillSymbol) //{ // ESRI.ArcGIS.Client.FeatureService.Symbols.PictureFillSymbol pfs = fillSymbol as ESRI.ArcGIS.Client.FeatureService.Symbols.PictureFillSymbol; // WriteAttribute("Height", pfs.Height); // WriteAttribute("Width", pfs.Width); // WriteAttribute("Opacity", pfs.Opacity); // WriteAttribute("BorderStyle", pfs.BorderStyle.ToString()); // if (pfs.Color != null) // { // writer.WriteStartElement("PictureFillSymbol.OutlineColor", Namespaces[Constants.esriFSSymbolsPrefix]); // new BrushXamlWriter(writer, Namespaces).WriteBrush(pfs.Color); // writer.WriteEndElement(); // } // if (pfs.SelectionColor != null) // { // writer.WriteStartElement("PictureFillSymbol.SelectionColor", Namespaces[Constants.esriFSSymbolsPrefix]); // new BrushXamlWriter(writer, Namespaces).WriteBrush(pfs.SelectionColor); // writer.WriteEndElement(); // } // #region Set ContentType,Url and ImageData to set Source // string json = pfs.ToJson(); // SetImageSourceRelatedProperties(pfs, json); // #endregion //} } writer.WriteEndElement(); }