You could try using Isolated Storage:
private void SaveGraphics_Click(object sender, RoutedEventArgs e)
{
try
{
//Save the graphics layer
GraphicsLayer graphicsLayer = MyMap.Layers["StatesGraphicsLayer"] as GraphicsLayer;
GraphicCollection pGC = graphicsLayer.Graphics;
//Isolated Storage -- Write Graphics
IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
using (Stream pStream = isf.OpenFile(_ISFileName, FileMode.Create, FileAccess.Write))
{
StreamWriter pStreamWriter = new StreamWriter(pStream);
foreach (Graphic g in pGC)
{
if (g.Geometry is ESRI.ArcGIS.Client.Geometry.MapPoint)
{
MapPoint pPoint = (MapPoint)g.Geometry;
pStreamWriter.WriteLine("Point, " + pPoint.X.ToString() + ", " + pPoint.Y.ToString());
}
if (g.Geometry is ESRI.ArcGIS.Client.Geometry.Polyline)
{
ESRI.ArcGIS.Client.Geometry.Polyline pPolyline = (ESRI.ArcGIS.Client.Geometry.Polyline)g.Geometry;
ESRI.ArcGIS.Client.Geometry.PointCollection[] pPC = pPolyline.Paths.ToArray();
pStreamWriter.Write("Polyline, ");
foreach (MapPoint p in pPC[0])
{
pStreamWriter.Write(p.X.ToString() + ", " + p.Y.ToString() + ",");
}
pStreamWriter.WriteLine();
}
if (g.Geometry is ESRI.ArcGIS.Client.Geometry.Polygon)
{
ESRI.ArcGIS.Client.Geometry.Polygon pPolygon = (ESRI.ArcGIS.Client.Geometry.Polygon)g.Geometry;
ESRI.ArcGIS.Client.Geometry.PointCollection[] pPC = pPolygon.Rings.ToArray();
pStreamWriter.Write("Polygon, ");
foreach (MapPoint p in pPC[0])
{
pStreamWriter.Write(p.X.ToString() + ", " + p.Y.ToString() + ",");
}
pStreamWriter.WriteLine();
}
}
pStreamWriter.Close();
pStream.Close();
}
}
catch
{
MessageBox.Show("Error", "Error", MessageBoxButton.OK);
}
}