{"Specified method is not supported."}
Unfortunately this way of creating a PictureMarkerSymbol does not work in accelerated display, as the ImageSource object does not have a Url from which the image's raw image bytes can be obtained.To work around this problem you could save the ImageSource that you get from SymbolProperties.GetImage to disk as a PNG file, and then create a PictureMarkerSymbol with an ImageSource with a Uri set to the file path of the saved image file.For example://helper method for getting PNG bytes for a BitmapSource
static byte[] GetPngBytes(BitmapSource image)
{
using (MemoryStream ms = new MemoryStream())
{
PngBitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(image));
encoder.Save(ms);
byte[] buffer = ms.GetBuffer();
return buffer;
}
}
...
ImageSource imageSource = list[0].GetImage(30, 30);
string pngPath = "...";
File.WriteAllBytes(pngPath, GetPngBytes((BitmapSource)imageSource));
var s = new PictureMarkerSymbol {Source=new BitmapImage(new Uri(pngPath)) };
...