static void ColorizeDrawing(Drawing drawing, Color tintColor)
{
if (drawing is DrawingGroup)
{
var dg = (DrawingGroup)drawing;
foreach (var d in dg.Children)
{
ColorizeDrawing(d, tintColor);
}
}
else if (drawing is GeometryDrawing)
{
var gd = (GeometryDrawing)drawing;
if (gd.Brush != null)
ColorizeBrush(gd.Brush, tintColor);
if (gd.Pen != null)
ColorizeBrush(gd.Pen.Brush, tintColor);
}
else
{
throw new NotImplementedException();
}
}